/* ============ [1] HEADER / NAV (site-header.css) ============ */
/* ============================================================
   تاج محل — هدر/فوتر مشترک شیشه‌ای (روی همه‌ی صفحات)
   فقط کلاس‌های اختصاصی هدر/مودال — بدون تداخل با تم صفحات داخلی.
   ============================================================ */
@font-face{font-family:iranyekan;font-weight:300;font-display:swap;src:url('/fonts/yekan/woff/iranyekanweblightfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-weight:400;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebregularfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-weight:500;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebmediumfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-weight:600;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebboldfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-weight:700;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebextraboldfanum.woff') format('woff')}

:root{
  --gold:#e0bd86; --gold-2:#c79c5e; --gold-1:#ecce9e; --gold-fg:#2a1f0d;
  --glass:saturate(140%) blur(22px); --r:24px; --r-sm:15px; --ease:cubic-bezier(.4,0,.18,1);
  --placeholder:color-mix(in srgb,var(--muted) 50%,transparent);
}
html[data-theme="dark"]{
  --panel:rgba(255,255,255,.045); --panel-2:rgba(255,255,255,.07);
  --brd:rgba(255,255,255,.10); --brd-soft:rgba(255,255,255,.06);
  --ink:#eef1ee; --muted:#9aa49e; --faint:#69736d; --logo-filter:none;
  --nav-base:rgba(15,23,19,.55); --panel-solid:#16201c;
}
html[data-theme="light"]{
  --panel:rgba(255,255,255,.62); --panel-2:rgba(255,255,255,.85);
  --brd:rgba(28,38,32,.12); --brd-soft:rgba(28,38,32,.06);
  --gold:#0f7d91; --gold-2:#0c6678; --gold-1:#3aa7ba; --gold-fg:#ffffff;
  --ink:#11303a; --muted:#5c665f; --faint:#9aa099;
  --logo-filter:brightness(0) saturate(100%) invert(15%);
  --nav-base:rgba(255,255,255,.55); --panel-solid:#ffffff;
}

.btn-gold,.btn-glass{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;border:1px solid var(--brd)!important;
  cursor:pointer;font-family:'iranyekan',sans-serif;font-weight:700!important;border-radius:14px!important;transition:.25s var(--ease);
  font-size:15px;-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);text-decoration:none;box-shadow:none!important}
.btn-gold{background:var(--panel-2)!important;color:var(--gold)!important;padding:13px 26px}
.btn-gold:hover{background:rgba(255,255,255,.12)!important}
.btn-glass{background:var(--panel-2)!important;color:var(--ink)!important;padding:13px 24px}
.btn-glass:hover{background:rgba(255,255,255,.14)!important}

/* ---- NAV ---- */
header.site-nav{position:sticky;top:16px;z-index:120;margin:16px auto 0;max-width:1320px;padding:0 22px;font-family:'iranyekan',sans-serif}
.nav-in{display:flex;align-items:center;gap:26px;height:84px;padding:0 32px;border-radius:30px;
  background:linear-gradient(120deg,rgba(255,255,255,.08),rgba(255,255,255,.02)), var(--nav-base);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);box-shadow:0 10px 30px -16px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.14)}
.nav-in .brand{display:flex;align-items:center;gap:13px;white-space:nowrap;order:3;text-decoration:none}
.nav-in .brand img{height:52px;width:auto}
html[data-theme="light"] .nav-in .brand img{filter:var(--logo-filter)}
.nav-in .brand .bt{font-weight:700;font-size:23px;color:var(--ink);letter-spacing:-.3px;line-height:1.1}
.nav-in .brand small{display:block;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:3px}
.nav-in .links{display:flex;align-items:center;gap:30px;margin-inline-start:auto;margin-inline-end:auto;order:2}
.nav-in .links>a{font-size:16px;font-weight:600;color:var(--muted);transition:.2s var(--ease);position:relative;text-decoration:none}
.nav-in .links>a:hover,.nav-in .links>a.active{color:var(--ink)}
.nav-in .links>a.active::after{content:"";position:absolute;bottom:-7px;inset-inline:0;height:2px;border-radius:2px;background:var(--gold)}
.nav-act{display:flex;align-items:center;gap:12px;order:1}
.icon-btn{background:var(--panel-2);border:1px solid var(--brd);color:var(--ink);font-size:20px;cursor:pointer;
  transition:.2s var(--ease);display:grid;place-items:center;position:relative;width:44px;height:44px;border-radius:13px;
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);text-decoration:none}
.icon-btn:hover{color:var(--gold);background:rgba(255,255,255,.14)}
.nav-act .icon-btn{flex:0 0 44px;min-width:44px;min-height:44px;padding:0;box-sizing:border-box}
.nav-act .icon-btn>.bi{display:grid;place-items:center;line-height:1}
.nav-act .icon-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.icon-btn .dot{position:absolute;top:-2px;inset-inline-end:-2px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
/* کاربرِ لاگین‌شده: آیکونِ پُرِ طلایی + نقطه‌ی سبزِ آنلاین */
.icon-btn.user-in{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}
.icon-btn.user-in .online-dot{position:absolute;bottom:-3px;inset-inline-end:-3px;width:11px;height:11px;border-radius:50%;
  background:#2ec27e;border:2.5px solid var(--bg);box-shadow:0 0 6px rgba(46,194,126,.6)}
.burger{display:none}
.icon-btn .burger .bi{height: 20px}
    /* dropdown منوها */
.nav-dd{position:relative}
.nav-dd>.ddt{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:var(--muted);transition:.2s var(--ease)}
.nav-dd:hover>.ddt,.nav-dd.open>.ddt{color:var(--ink)}
/* تریگرِ منوی کاربر که هم‌زمان دکمه‌ی آیکونی است: جعبه‌ی icon-btn حفظ شود */
.nav-dd>.ddt.icon-btn{display:grid;place-items:center;gap:0;width:44px;height:44px;font-size:20px;color:var(--ink)}
.nav-dd>.ddt .caret{font-size:13px;transition:transform .22s var(--ease)}
.nav-dd.open>.ddt .caret{transform:rotate(180deg)}
.nav-menu{position:absolute;top:calc(100% + 14px);inset-inline-end:0;inset-inline-start:auto;transform:translateY(8px);
  min-width:210px;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:18px;padding:8px;box-shadow:0 24px 60px -24px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transition:.22s var(--ease);z-index:90}
/* در دارک، پس‌زمینه‌ی دراپ‌داون مات‌تر تا متن با بک‌گراند قاطی نشود */
html[data-theme="dark"] .nav-menu{background:rgba(18,26,22,.94)}
/* پل نامرئی برای حفظ هاور بین دکمه و منو */
.nav-menu::before{content:"";position:absolute;top:-14px;inset-inline:0;height:14px}
.nav-dd.open>.nav-menu{opacity:1;visibility:visible;transform:translateY(0)}
@media (hover:hover) and (min-width:761px){
  .nav-dd:hover>.nav-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .nav-in .links .nav-dd:hover>.nav-menu{transform:translateX(-50%) translateY(0)}
}
.nav-menu a{display:block;padding:10px 15px;border-radius:11px;font-size:14.5px;font-weight:600;color:var(--ink);transition:.16s;text-decoration:none}
.nav-menu a:hover{background:var(--panel);color:var(--gold)}
.nav-menu .mt{font-size:11.5px;color:var(--faint);padding:10px 15px 4px;font-weight:700;letter-spacing:.5px}
.nav-menu.wide{min-width:560px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.nav-menu.wide>div{padding:4px}

/* منوهای نوارِ اصلی: وسط‌چین زیرِ تریگر (translateX در هر سه حالت حفظ می‌شود تا جابه‌جا نشوند) */
.nav-in .links .nav-menu{inset-inline:auto;left:50%;right:auto;transform:translateX(-50%) translateY(8px)}
.nav-in .links .nav-dd.open>.nav-menu{transform:translateX(-50%) translateY(0)}
/* منوی حسابِ کاربری در لبه‌ی راست: لبه‌چین زیرِ آیکون (از صفحه بیرون نزند) */
.nav-act .nav-menu{inset-inline:auto;left:50%;right:auto;transform:translateX(-50%) translateY(8px)}
.nav-act .nav-dd.open>.nav-menu,.nav-act .nav-dd:hover>.nav-menu{transform:translateX(-50%) translateY(0)}


/* ---- LOGIN MODAL ---- */
.lm-overlay{position:fixed;inset:0;z-index:200;background:rgba(8,14,12,.5);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:.25s var(--ease);font-family:'iranyekan',sans-serif}
.lm-overlay.open{opacity:1;visibility:visible}
.lm{position:relative;width:430px;max-width:100%;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:26px;padding:34px 30px;transform:translateY(16px) scale(.97);transition:.28s var(--ease);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);color:var(--ink)}
.lm-overlay.open .lm{transform:none}
.lm h3{font-size:23px;font-weight:700;margin-bottom:6px}
.lm .sub{color:var(--muted);font-size:14px;margin-bottom:24px}
.lm label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:600}
.lm .fld{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--brd);border-radius:15px;padding:13px 15px;margin-bottom:16px;transition:.2s}
.lm .fld:focus-within{border-color:var(--gold)}
.lm .fld i{color:var(--gold);font-size:18px}
.lm .fld input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;color:var(--ink);direction:ltr;text-align:left}
.lm .fld .eye{cursor:pointer;color:var(--muted)}
.lm .err{color:#e2554e;font-size:13.5px;margin-bottom:14px;display:none}
.lm .reg{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}
.lm .reg a{color:var(--gold);font-weight:700}
.lm-close{position:absolute;top:18px;inset-inline-start:20px;background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
.lm .btn-gold{width:100%!important}

@media(max-width:900px){
  /* گاترِ هدر با گاترِ صفحه (`.wrap`) یکی است تا لبه‌ی هدر و لبه‌ی محتوا
     روی یک خط بیفتند */
  header.site-nav{top:8px;padding:0 15px}
  /* 🪤 منوهای گوشه‌ی هدر (کاربر و اعلان‌ها) روی دکمه‌شان **وسط‌چین** بودند
     (`left:50%` + `translateX(-50%)`). روی دسکتاپ بی‌خطر است، ولی در موبایل
     دکمه‌ها کنارِ لبه‌اند و منوی ۲۴۰ تا ۳۳۰ پیکسلی از صفحه بیرون می‌زد؛
     حاشیه‌ی ۸ پیکسلیِ پیش‌فرضِ body این را پنهان کرده بود و با صفر شدنش
     دیده شد. در موبایل به‌جای وسط‌چینی، منو به عرضِ خودِ هدر باز می‌شود —
     همان الگویی که منوی اصلی (`.nav-in .links`) از قبل دارد.

     🪤 و صرفاً عوض‌کردنِ left/right کافی نیست: بلوکِ دربرگیرنده‌ی منو همان
     دکمه‌ی آیکونی است، پس منوی ۳۳۰ پیکسلیِ اعلان‌ها از لبه‌ی دکمه شروع
     می‌شد و ۱۰۳ پیکسل بیرون می‌زد — آن‌قدر که layout viewport از ۳۷۵ به ۴۷۸
     بازمی‌شد و کلِ صفحه افقی اسکرول می‌خورد. با `position:static` کردنِ
     `.nav-dd`، بلوکِ دربرگیرنده به `.nav-in` برمی‌گردد و منو به عرضِ هدر
     مهار می‌شود. */
  .nav-act .nav-dd{position:static}
  .nav-act .nav-menu{left:auto;right:auto;inset-inline:0;max-width:100%;transform:translateY(8px)}
  .nav-act .nav-dd.open>.nav-menu,
  .nav-act .nav-dd:hover>.nav-menu{transform:translateY(0)}
  .nav-in{height:64px;padding:0 12px;gap:8px;justify-content:space-between;position:relative}
  .nav-in .brand{order:2;gap:8px;min-width:0;flex:0 1 auto;overflow:hidden}
  .nav-in .brand img{height:36px}
  .nav-in .brand .bt{font-size:16px}
  .nav-in .brand small{display:block;font-size:10px;letter-spacing:2px}
  .nav-act{order:1;gap:6px;flex:0 0 auto}
  .nav-act .icon-btn,
  .nav-act .nav-dd>.ddt.icon-btn{width:44px;height:44px;font-size:18px;border-radius:11px}
  /* 🔔 زنگِ اعلان در موبایل **می‌مانَد**. اینجا `display:none` بود ولی هرگز
     اعمال نمی‌شد (قانونِ `.nav-dd>.ddt.icon-btn` اختصاصی‌تر بود)، پس زنگ
     همیشه دیده می‌شده. با جاروی قانون‌های مرده معلوم شد و به‌جای احیای
     پنهان‌سازی، خودِ قانون حذف شد. روی صفحه‌ی باریک نشانِ برند تنها می‌ماند
     تا هر چهار دکمه هدف لمس کامل داشته باشند. */
  .nav-in .links{order:3;display:none;position:absolute;top:calc(100% + 10px);inset-inline:0;flex-direction:column;align-items:stretch;
    background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
    border:1px solid var(--brd);border-radius:20px;padding:12px;gap:4px;box-shadow:0 24px 60px -24px rgba(0,0,0,.6);max-height:75vh;overflow:auto;margin:0;
    transform-origin:top;animation:navDrawerIn .28s var(--ease)}
  .nav-in .links.show{display:flex}
  /* در دارک، کشوی موبایل مات‌تر تا متنِ زیر قاطی نشود */
  html[data-theme="dark"] .nav-in .links{background:rgba(18,26,22,.96)}
  .nav-in .links>a{padding:11px 14px;border-radius:12px;font-size:15.5px}
  .nav-in .links>a:hover{background:var(--panel)}
  .burger{display:grid}
  @keyframes navDrawerIn{from{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}

  /* کشوها داخل منوی موبایل: آکاردئونی با بازشدنِ نرم */
  .nav-in .links .nav-dd{width:100%}
  .nav-in .links .nav-dd>.ddt{justify-content:space-between;width:100%;padding:11px 14px;border-radius:12px;font-size:15.5px}
  .nav-in .links .nav-dd>.ddt:hover{background:var(--panel)}
  .nav-in .links .nav-dd>.ddt .caret{transition:transform .3s var(--ease)}
  .nav-in .links .nav-dd.open>.ddt .caret{transform:rotate(180deg)}
  .nav-in .links .nav-menu{position:static;inset:auto;transform:none!important;visibility:visible;display:block;
    min-width:0;width:100%;border:none;box-shadow:none;background:transparent;border-radius:0;
    max-height:0;opacity:0;overflow:hidden;padding:0 8px;
    transition:max-height .34s var(--ease),opacity .28s var(--ease),padding .34s var(--ease)}
  .nav-in .links .nav-dd.open>.nav-menu{max-height:620px;opacity:1;padding:2px 8px 10px}
  .nav-in .links .nav-menu::before{display:none}
  .nav-menu.wide{grid-template-columns:1fr;gap:0}
}

@media(max-width:374px){
  /* برند در عرض کم بریده نشود و دکمه‌های سربرگ کوچک نشوند. */
  .nav-in .brand{min-width:44px;min-height:44px;justify-content:center}
  .nav-in .brand>span{display:none}
}

/* ============================================================
   فوتر مشترک شیشه‌ای (scoped: .site-footer-modern)
   ============================================================ */
.site-footer-modern{margin-top:90px;border-top:1px solid var(--brd-soft);padding:60px 0 26px;
  font-family:'iranyekan',sans-serif;color:var(--ink);position:relative}
.site-footer-modern .wrap{max-width:1280px;margin:0 auto;padding:28px}
.site-footer-modern .foot{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:38px}
.site-footer-modern .brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;text-decoration:none}
.site-footer-modern .brand img{height:50px;width:auto}
html[data-theme="light"] .site-footer-modern .brand img{filter:var(--logo-filter)}
.site-footer-modern .brand .bt{font-weight:700;font-size:21px;color:var(--ink);line-height:1.1}
.site-footer-modern .brand small{display:block;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:3px}
.site-footer-modern .desc{color:var(--muted);font-size:14px;max-width:300px;margin-bottom:18px;line-height:1.9}
.site-footer-modern h4{font-size:15px;font-weight:700;margin-bottom:16px;color:var(--gold)}
.site-footer-modern .fl{display:block;color:var(--muted);font-size:14px;padding:5px 0;transition:.2s;text-decoration:none}
.site-footer-modern .fl:hover{color:var(--ink);padding-inline-start:5px}
.site-footer-modern .ci{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:14px;margin-bottom:10px}
.site-footer-modern .ci i{color:var(--gold)}
.site-footer-modern .socials{display:flex;gap:10px;margin-top:16px}
.site-footer-modern .socials a{width:42px;height:42px;border-radius:12px;background:var(--panel-2);border:1px solid var(--brd);
  color:var(--ink);display:grid;place-items:center;font-size:18px;transition:.25s;text-decoration:none;
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.site-footer-modern .socials a:hover{background:var(--gold);color:var(--gold-fg);border-color:transparent}
.site-footer-modern .copy{margin-top:44px;padding-top:22px;border-top:1px solid var(--brd-soft);
  text-align:center;color:var(--faint);font-size:13.5px}

@media(max-width:1024px){ .site-footer-modern .foot{grid-template-columns:1fr 1fr} }
@media(max-width:600px){
  /* ⚠️ این قانون قبلاً `padding:0` بود و محتوای هر صفحه در موبایل به لبه‌ی
     نمایشگر می‌چسبید. `.wrap` تنها کانتینرِ سراسریِ سایت است، پس همین یک
     مقدار همه‌ی صفحه‌ها را با هم درست می‌کند. `!important` از قبل اینجا بود
     و می‌ماند: چند سکشن پدینگِ افقیِ خودشان را روی `.wrap` بازنویسی می‌کنند
     و بدونش دوباره از این قانون رد می‌شوند. */
  .wrap{padding: 0 15px !important;}
  .site-footer-modern{padding:44px 0 24px;margin-top:60px}
  /* گاترِ فوتر از همان `.wrap`ِ بالا می‌آید. قانونِ `padding:0 18px` که
     اینجا بود حذف شد: با `!important`ِ گاترِ سراسری هرگز اعمال نمی‌شد و
     لبه‌ی فوتر هم باید با لبه‌ی محتوا روی یک خط بیفتد. */
  .site-footer-modern .foot{grid-template-columns:1fr;gap:28px}
  .site-footer-modern .desc{max-width:none}
}

/* ---- AUTH PAGES (ثبت‌نام/ورود با استایل کارت لاگین) ---- */
/* ⚠️ انتخابگر عمداً `.home-modern .auth-page` است نه `.auth-page` تنها.
   ریستِ `.home-modern *` هم‌وزنِ تک‌کلاس است و **بعد از** این قانون می‌آید،
   پس نسخه‌ی تک‌کلاسی بی‌صدا پدینگش را از دست می‌داد: صفحه‌های ثبت‌نام/ورود/
   OTP هیچ فاصله‌ای از لبه نداشتند و فقط حاشیه‌ی ۸ پیکسلیِ پیش‌فرضِ body
   نجاتشان می‌داد. (بقیه‌ی قانون‌های قبل از ریست مثلِ `.nav-in` جانِ سالم
   به در برده‌اند چون بعدتر در همین فایل دوباره تعریف شده‌اند.) */
.home-modern .auth-page{min-height:74vh;display:flex;align-items:center;justify-content:center;
  padding:48px 16px;font-family:'iranyekan',sans-serif}
.auth-card{position:relative;transform:none!important;width:460px;max-width:100%}
.auth-card .note{margin-top:18px;text-align:center;font-size:13px;color:var(--muted);line-height:1.9}
.auth-card .alert-glass{background:rgba(226,85,78,.12);border:1px solid rgba(226,85,78,.35);color:#e2554e;
  border-radius:14px;padding:12px 15px;margin-bottom:16px;font-size:13.5px}
.auth-card .alert-glass p{margin:0}
/* راهنمای انتقال به فرم ورود (ثبت‌نامِ تکراری) — جدا از رنگِ خطا */
.auth-card .alert-glass .redirect-hint{margin-top:8px;padding-top:8px;border-top:1px solid rgba(226,85,78,.25);
  color:var(--gold);font-weight:600;display:flex;align-items:center;gap:6px}
.redirect-hint .dots::after{content:"";animation:hintDots 1.2s steps(4,end) infinite}
@keyframes hintDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}


/* ============ [2] BASE + COMPONENTS (home.css) ============ */
/* ============================================================
   تاج محل — استایل صفحه‌ی اصلی (Claude Design / index-modern)
   مسیرها مطلق شده‌اند تا از public سرو شوند.
   ============================================================ */
@font-face{font-family:iranyekan;font-style:normal;font-weight:100;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebthinfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/yekan/woff/iranyekanweblightfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebregularfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebmediumfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebboldfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebextraboldfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebblackfanum.woff') format('woff')}
@font-face{font-family:iranyekan;font-style:normal;font-weight:900;font-display:swap;src:url('/fonts/yekan/woff/iranyekanwebextrablackfanum.woff') format('woff')}
:root{
  --gold:#e0bd86;
  --gold-2:#c79c5e;
  --gold-1:#ecce9e;
  --gold-fg:#2a1f0d;
  --glass:saturate(140%) blur(22px);
  --r:24px;
  --r-sm:15px;
  --ease:cubic-bezier(.4,0,.18,1);
}
html[data-theme="dark"]{
  /* پالتِ دارک دقیقاً از فایلِ نمونه (Property Create → D) */
  --bg:#0f1813;
  --panel:rgba(255,255,255,.05);
  --panel-2:rgba(255,255,255,.06);
  --menu-bg:rgba(20,28,24,.97);
  --brd:rgba(255,255,255,.10);
  --brd-soft:rgba(255,255,255,.08);
  --ink:#eef1ee;
  --muted:#9aa49e;
  --faint:#69736d;
  --logo-filter:none;
  --grad-text:linear-gradient(180deg,#fff,#cdd3ce);
  --scroll-thumb:rgba(224,189,134,.7);--scroll-thumb-h:rgba(224,189,134,.70);
}
html[data-theme="light"]{
  --bg:#b9e2f8;
  --panel:rgba(255,255,255,.62);
  --panel-2:rgba(255,255,255,.85);
  --menu-bg:rgba(255,255,255,.92);
  --brd:rgba(28,38,32,.12);
  --brd-soft:rgba(28,38,32,.06);
  --gold:#0f7d91;
  --gold-2:#0c6678;
  --gold-1:#3aa7ba;
  --gold-fg:#ffffff;
  --ink:#11303a;
  --muted:#5c665f;
  --faint:#9aa099;
  --logo-filter:brightness(0) saturate(100%) invert(15%);
  --grad-text:linear-gradient(180deg,#28332d,#4a544d);
  --scroll-thumb:rgba(15,125,145,.7);--scroll-thumb-h:rgba(15,125,145,.62);
}
/* 🪤 این ریست `.home-modern *` است، یعنی فقط **فرزندان** را می‌گیرد نه خودِ
   `body` را. پس body حاشیه‌ی پیش‌فرضِ ۸ پیکسلیِ مرورگر را نگه می‌داشت و
   ناخواسته بدلِ گاترِ صفحه شده بود: فاصله‌ی واقعیِ محتوا از لبه ۸ + پدینگِ
   `.wrap` می‌شد و صفحاتی مثلِ auth که `.wrap` ندارند فقط همان ۸ را داشتند.
   با صفر کردنش، پدینگِ `.wrap` تنها منبعِ گاتر می‌شود و «۱۵ پیکسل» واقعاً
   ۱۵ پیکسل است. عناصرِ fixed (هدر، نوارهای چسبان) با `inset-inline:0`
   نسبت به viewport جا می‌گیرند و از این تغییر اثر نمی‌گیرند. */
body.home-modern{margin:0}
.home-modern *{box-sizing:border-box;margin:0;padding:0}
/* حذفِ چشمِ داخلیِ Edge روی فیلدهای رمز (چشمِ سفارشیِ خودمان را داریم) */
input::-ms-reveal,input::-ms-clear{display:none}

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: transparent; margin-block: 15px; }
::-webkit-scrollbar-thumb { background-color: var(--scroll-thumb); border-radius: 20px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-button { display: none !important; }
.your-modal-class { overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; }

html{scroll-behavior:smooth}
body.home-modern{font-family:'iranyekan',system-ui,sans-serif;color:var(--ink);line-height:1.85;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ⭐ کنترل‌های فرم فونت را از بدنه ارث نمی‌برند و فونتِ پیش‌فرضِ مرورگر را
   می‌گیرند — یعنی هر <button> تازه‌ای که بسازیم کنارِ بقیه وصله‌ای می‌شود.
   این قانون ریشه را می‌زند؛ بدونش باید در هر کلاس دستی font-family:inherit
   بنویسیم (که در همین فایل ۲۳ بار تکرار شده بود). فقط font-family، نه font
   کامل، تا سایز/وزنِ تعریف‌شده‌ی هر کلاس دست‌نخورده بماند. */
button, input, select, textarea, optgroup{font-family:inherit}

/* ⭐ iOS: هیچ فیلدی نباید با فوکوس صفحه را زوم کند.
   سافاریِ آیفون وقتی فونتِ کنترلِ فوکوس‌شده **زیرِ ۱۶px** باشد خودکار روی آن
   زوم می‌کند؛ صفحه از عرضِ دستگاه بزرگ‌تر می‌شود، هدرِ چسبان و نوارِ پایین
   جابه‌جا می‌شوند و کاربر باید دستی برگردد. اینجا فیلدها ۱۳ تا ۱۵px بودند،
   یعنی عملاً **همه‌ی** فیلدهای سایت این کار را می‌کردند.

   🪤 راهِ حلِ رایجِ `user-scalable=no` / `maximum-scale=1` در متای viewport
   عمداً استفاده نشد: از iOS 10 سافاری آن را نادیده می‌گیرد (پس زوم همچنان
   اتفاق می‌افتد) و در بقیه‌ی مرورگرها فقط بزرگ‌نماییِ دستیِ کاربر را می‌کُشد —
   یعنی هم بی‌اثر است هم برای کم‌بینا مضر. تنها راهِ واقعی، ۱۶px است.

   ⚠️ `!important` لازم است چون ده‌ها قانونِ کلاس‌محور (`.lm .fld input`,
   `.aiw-input`, `.vf-input` و…) از این انتخابگرِ عنصری اختصاصی‌ترند.
   🪤 و `!important` تنها کافی **نیست**: فرمِ ملک `.dashboard-section
   .form-control{font-size:15px!important}` دارد و important در برابر
   important با اختصاصی‌بودن سنجیده می‌شود. با انتخابگرِ برهنه‌ی `select`،
   ۲۲ فیلدِ فرمِ ملک بی‌صدا روی ۱۵px می‌ماندند — یعنی سنگین‌ترین فرمِ سایت
   دقیقاً همان‌جایی که زوم بیشترین آسیب را دارد بی‌محافظ می‌ماند. پیشوندِ
   `html[data-theme] body.home-modern` اختصاصی‌بودن را از آن بالاتر می‌برد
   (صفتِ `data-theme` هم‌وزنِ یک کلاس است، پس ۲ کلاس + ۳ عنصر می‌شود و بر
   `.dashboard-section .form-control` که ۲ کلاس + ۰ عنصر است می‌چربد).

   🪤 **این قانون کف است، نه اندازه‌ی ثابت — و CSS «کف» ندارد.** نسخه‌ی اولش
   با `input:not([type=checkbox])…` نوشته شده بود؛ هر `:not()` اختصاصی‌بودن
   را بالا می‌بَرد، پس آن‌قدر قوی شد که فیلدهای عمداً **درشت‌تر** را هم پایین
   کشید: خانه‌های کدِ تأیید از ۲۲px به ۱۶px رفتند و در کادرِ ۴۸×۵۶ خراب
   دیده شدند. حالا نوعِ ورودی‌ها صریح فهرست شده تا اختصاصی‌بودن قابلِ‌پیش‌بینی
   بماند و استثنای زیر — که یک کلاسِ بیشتر دارد — بتواند بر آن غلبه کند.
   دامنه موبایل و دستگاه‌های لمسی است، از جمله حالت افقی گوشی. */
@media(max-width:760px),(any-pointer:coarse){
  html[data-theme] body.home-modern input:not([type]),
  html[data-theme] body.home-modern input[type=text],
  html[data-theme] body.home-modern input[type=tel],
  html[data-theme] body.home-modern input[type=number],
  html[data-theme] body.home-modern input[type=email],
  html[data-theme] body.home-modern input[type=password],
  html[data-theme] body.home-modern input[type=search],
  html[data-theme] body.home-modern input[type=url],
  html[data-theme] body.home-modern input[type=date],
  html[data-theme] body.home-modern input[type=datetime-local],
  html[data-theme] body.home-modern input[type=time],
  html[data-theme] body.home-modern input[type=month],
  html[data-theme] body.home-modern input[type=week],
  html[data-theme] body.home-modern select,
  html[data-theme] body.home-modern textarea{font-size:16px!important}

  /* تنها فیلدِ عمداً درشت‌ترِ سایت — بالای ۱۶px است، پس زوم نمی‌آورد و
     نباید کوچک شود. اختصاصی‌بودنش با قانونِ بالا برابر است و چون بعد از
     آن می‌آید برنده می‌شود. */
  html[data-theme] body.home-modern input.otp-input{font-size:22px!important}
}
/* تصویرِ پس‌زمینه روی لایه‌ی fixed جدا — نه background-attachment:fixed که در iOS Safari
   خراب است (تصویر به ارتفاعِ کلِ سند کشیده و «زوم‌شده» دیده می‌شد) */
body.home-modern::before{content:"";position:fixed;inset:0;z-index:-3;
  background:url('/images/background.jpg') center/cover no-repeat}
.amb{position:fixed;inset:0;z-index:-2;transition:background .4s var(--ease)}
/* دارک: تینتِ سبزِ نمونه ولی نیمه‌شفاف تا عکسِ background.jpg از پشت دیده شود + گلوِ ملایمِ برند */
html[data-theme="dark"] .amb{background:
  radial-gradient(900px 600px at 82% -5%,rgba(224,189,134,.10),transparent 60%),
  radial-gradient(700px 600px at 5% 12%,rgba(120,160,140,.06),transparent 55%),
  radial-gradient(120% 90% at 50% 0%,rgba(22,34,28,.90) 0%,rgba(15,24,19,.90) 45%,rgba(11,18,14,.90) 100%)}
html[data-theme="light"] .amb{background:
  radial-gradient(900px 600px at 82% -5%,rgba(255,255,255,.28),transparent 60%),
  linear-gradient(180deg,rgba(185,226,248,.38) 0%,rgba(185,226,248,.52) 100%)}
.amb::after{content:"";position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:64px 64px;mask:radial-gradient(circle at 50% 30%,#000,transparent 80%)}
.home-modern img{display:block;max-width:100%}
.home-modern a{text-decoration:none;color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.home-modern section{position:relative}
.glass{background:var(--panel);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:var(--r)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;
  font-family:inherit;font-weight:700;border-radius:14px;transition:.25s var(--ease);font-size:15px}
.btn-gold{background:var(--panel-2);color:var(--gold);padding:13px 26px;border:1px solid var(--brd);
  backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass)}
.btn-gold:hover{background:rgba(255,255,255,.12)}
.btn-glass{background:var(--panel-2);border:1px solid var(--brd);color:var(--ink);padding:13px 24px;backdrop-filter:var(--glass)}
.btn-glass:hover{background:rgba(255,255,255,.14)}

/* ---- NAV ---- */
header.nav{position:sticky;top:16px;z-index:60;margin:16px auto 0;max-width:1320px;padding:0 22px}
.nav-in{display:flex;align-items:center;gap:26px;height:84px;padding:0 32px;border-radius:30px;
  background:linear-gradient(120deg,rgba(255,255,255,.09),rgba(255,255,255,.03));
  backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.brand{display:flex;align-items:center;gap:13px;white-space:nowrap;order:3}
.brand img{height:52px;width:auto;transition:.3s var(--ease)}
html[data-theme="light"] .brand img{filter:var(--logo-filter)}
.brand .bt{font-weight:700;font-size:23px;color:var(--ink);letter-spacing:-.3px;line-height:1.1}
.brand small{display:block;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:3px}
.links{display:flex;gap:30px;margin-inline-start:auto;margin-inline-end:auto;order:2}
.links a{font-size:16px;font-weight:600;color:var(--muted);transition:.2s var(--ease);position:relative}
.links a:hover,.links a.active{color:var(--ink)}
.links a.active::after{content:"";position:absolute;bottom:-7px;inset-inline:0;height:2px;border-radius:2px;background:var(--gold)}
.nav-act{display:flex;align-items:center;gap:12px;order:1}
.icon-btn:hover{color:var(--gold);background:rgba(255,255,255,.14)}
.icon-btn .dot{position:absolute;top:-2px;inset-inline-end:-2px;width:8px;height:8px;border-radius:50%;background:var(--gold);border:2px solid #11181400}
.burger{display:none}

/* قانون‌های موبایلِ هدر که نسخه‌ی تکراری خنثی کرده بود — شرحِ کامل در
   بلوکِ «بازگردانیِ قانون‌های خنثی‌شده» در انتهای فایل. */

/* ---- NAV DROPDOWNS (منوهای اصلی) ---- */
.nav-dd{position:relative}
.nav-dd>.ddt{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:var(--muted);transition:.2s var(--ease)}
.nav-dd:hover>.ddt,.nav-dd.open>.ddt{color:var(--ink)}
.nav-dd>.ddt .caret{font-size:13px;transition:transform .22s var(--ease)}
.nav-dd.open>.ddt .caret{transform:rotate(180deg)}
.nav-menu{position:absolute;top:calc(100% + 16px);inset-inline-start:50%;transform:translateX(50%) translateY(8px);
  min-width:210px;background:var(--menu-bg);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:18px;padding:8px;box-shadow:0 24px 60px -24px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transition:.22s var(--ease);z-index:90}
.nav-dd.open .nav-menu{opacity:1;visibility:visible;transform:translateX(50%) translateY(0)}
.nav-menu a{display:block;padding:10px 15px;border-radius:11px;font-size:14.5px;font-weight:600;color:var(--ink);transition:.16s}
.nav-menu a:hover{background:var(--panel);color:var(--gold)}
.nav-menu .mt{font-size:11.5px;color:var(--faint);padding:10px 15px 4px;font-weight:700;letter-spacing:.5px}
.nav-menu.wide{min-width:560px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.nav-menu.wide>div{padding:4px}

/* ---- LOGIN MODAL (شیشه‌ای) ---- */
.lm-overlay{position:fixed;inset:0;z-index:200;background:rgba(8,14,12,.5);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:.25s var(--ease)}
.lm-overlay.open{opacity:1;visibility:visible}
.lm{position:relative;width:430px;max-width:100%;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:26px;padding:34px 30px;transform:translateY(16px) scale(.97);transition:.28s var(--ease);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7)}
.lm-overlay.open .lm{transform:none}
.lm h3{font-size:23px;font-weight:700;margin-bottom:6px}
.lm .sub{color:var(--muted);font-size:14px;margin-bottom:24px}
.lm label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:600}
.lm .fld{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--brd);border-radius:15px;padding:13px 15px;margin-bottom:16px;transition:.2s}
.lm .fld:focus-within{border-color:var(--gold)}
.lm .fld i{color:var(--gold);font-size:18px}
.lm .fld input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;color:var(--ink);direction:ltr;text-align:left}
.lm .fld .eye{cursor:pointer;color:var(--muted)}
.lm .err{color:#e2554e;font-size:13.5px;margin-bottom:14px;display:none}
.lm .reg{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}
.lm .reg a{color:var(--gold);font-weight:700}
.lm-close{position:absolute;top:18px;inset-inline-start:20px;background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
.lm .btn-gold{width:100%;justify-content:center;padding:14px}

/* ---- HERO ---- */
.hero{padding:20px 0 0;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
/* چیدمان دو ستونه و وسط‌چین: متن سمت راست، انیمیشن سمت چپ، کل بلوک در مرکز */
.hero-grid{display:grid;grid-template-columns:minmax(0,470px) minmax(0,450px);
  justify-content:center;align-items:center;gap:44px;text-align:right;margin-bottom:8px}
.hero-copy{min-width:0}
.hero-anim{min-width:0;display:flex;align-items:center;justify-content:center}
.hero-anim img{width:100%;max-width:500px;height:auto;display:block}
.hero-anim .ha{max-width:440px}
/* لوگوی برند (ورد‌مارک با اکسنت طلایی) */
/* ردیفِ برند: باکسِ تاج‌محل + دو باکسِ تبلیغاتی — هر سه هم‌سایز و هم‌فونت */
.brand-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.brand-lockup,.hero-badge{display:inline-flex;align-items:center;gap:12px;
  background:var(--panel-2);border:1px solid var(--brd);backdrop-filter:var(--glass);
  -webkit-backdrop-filter:var(--glass);
  padding:9px 16px;border-radius:16px;box-shadow:0 10px 28px -16px rgba(6,52,64,.32)}
.brand-lockup::before,.hero-badge::before{content:"";width:4px;height:32px;border-radius:4px;
  background:linear-gradient(180deg,var(--gold-1),var(--gold-2))}
.brand-lockup .brand-text,.hero-badge .hb-text{display:flex;flex-direction:column;line-height:1.3;text-align:right}
.brand-lockup .brand-text small,.hero-badge .hb-text small{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.5px}
.brand-lockup .brand-text b,.hero-badge .hb-text b{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:.3px}
.brand-lockup,.hero-badge{transition:transform .25s var(--ease),border-color .25s var(--ease)}
.brand-lockup:hover,.hero-badge:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:700;color:var(--ink);
  background:var(--panel-2);border:1px solid var(--brd);backdrop-filter:var(--glass);
  padding:10px 22px;border-radius:99px;margin-bottom:30px;white-space:nowrap;letter-spacing:.2px;
  box-shadow:0 12px 34px -16px rgba(6,52,64,.4)}
.eyebrow i{color:var(--gold)}
.hero h1{font-size:clamp(30px,3.5vw,46px);font-weight:700;line-height:1.55;letter-spacing:0;margin:0}
.hero h1 .gd{background:linear-gradient(180deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:16.5px;line-height:2;color:var(--muted);max-width:470px;margin:18px 0 0}
.hero-cta{display:flex;gap:14px;justify-content:flex-start;margin-top:28px}

.search-wrap{max-width:980px;margin:54px auto 0;position:relative}
.searchbar{padding:16px;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;position:relative;z-index:2}
.s-field{background:var(--panel-2);border-radius:var(--r-sm);padding:12px 18px;border:1px solid var(--brd-soft);text-align:right;transition:.2s}
.s-field:hover{border-color:var(--brd)}
.s-field label{display:block;font-size:11.5px;color:var(--faint);font-weight:600;margin-bottom:2px}
.s-field .v{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
.s-field i{color:var(--gold)}
.searchbar .btn-gold{border-radius:var(--r-sm)}

/* ---- SELL CTA (ملکت رو خودت بفروش) — شیشه‌ای، بدون گرادیانت ---- */
.sell-section{padding:36px 0}
.sell-cta{display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:44px;padding:48px 56px;text-align:right}
.sell-cta h2{margin-bottom:14px}
.sell-cta h2 .gd{color:var(--gold)}
.sell-cta p{color:var(--muted);font-size:16.5px;line-height:2;max-width:560px;margin-bottom:24px}
.sell-feats{display:flex;gap:12px;flex-wrap:wrap}
.sell-feats span{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;
  background:var(--panel-2);border:1px solid var(--brd);border-radius:99px;padding:9px 18px;
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.sell-feats i{color:var(--gold)}
.sell-action{display:flex;flex-direction:column;align-items:center;gap:13px}
/* دکمه شیشه‌ای استاندارد سایت (btn-gold) — فقط اندازه‌اش بزرگ‌تر */
.btn-sell{font-size:18px;padding:18px 36px;border-radius:var(--r-sm);white-space:nowrap;
  transition:transform .25s var(--ease),background .25s var(--ease)}
.btn-sell:hover{transform:translateY(-3px)}
.btn-sell i{font-size:21px}
.sell-action small{display:inline-flex;align-items:center;gap:6px;color:var(--faint);font-size:13px}
@media(max-width:760px){
  .sell-cta{grid-template-columns:1fr;text-align:center;padding:38px 26px;gap:26px}
  .sell-content .kick,.sell-feats{justify-content:center}
  .sell-cta p{margin-inline:auto}
  .btn-sell{width:100%;justify-content:center}
}
@media(max-width:560px){
  /* موبایل: هر سه چیپ هم‌اندازه و وسط‌چین شوند — وگرنه هرکدام به‌اندازه‌ی
     متنِ خودش پهن می‌شد و ستونِ ناهم‌ترازی می‌ساخت. */
  .sell-feats{flex-direction:column;align-items:center;gap:10px}
  .sell-feats span{width:100%;max-width:230px;justify-content:center}
}

/* ---- AUTH (ثبت‌نام / تایید کد / رمز عبور) — گلس ---- */
.auth-card h2,.auth-card h3{font-size:23px;font-weight:700;margin-bottom:6px;text-align:center}
/* عددِ صفحاتِ خطا (429 و…) — طلاییِ برند */
.auth-card .err-code{font-size:44px;font-weight:700;color:var(--gold);line-height:1.2;margin-bottom:8px}
.auth-card .err-code i{font-size:32px;vertical-align:middle;margin-inline-end:8px}
.auth-card .sub,.auth-card .subtitle{color:var(--muted);font-size:14px;text-align:center;margin-bottom:24px}
.auth-card .form-group{margin-bottom:16px}
.auth-card label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:600}
.auth-card input[type=text],.auth-card input[type=password],.auth-card select{
  width:100%;border:1px solid var(--brd);background:var(--panel);border-radius:14px;
  padding:13px 15px;font-family:inherit;font-size:15px;color:var(--ink);outline:none;transition:.2s var(--ease);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.auth-card input:focus,.auth-card select:focus{border-color:var(--gold)}
.auth-card input::placeholder{color:var(--faint)}
.auth-card .btn-gold{width:100%;justify-content:center;margin-top:6px}
/* OTP */
.otp-row{display:flex;gap:10px;justify-content:center;direction:ltr;margin:6px 0 20px}
.otp-input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;color:var(--ink);
  border:1px solid var(--brd);background:var(--panel);border-radius:14px;outline:none;transition:.2s var(--ease);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.otp-input:focus{border-color:var(--gold)}
/* دو عملِ همیشگیِ صفحه‌ی کد: «ارسال مجدد» و «تغییر شماره».
   ⚠️ هر دو **همیشه** دیده می‌شوند. قفلِ ارسالِ مجدد فقط با `aria-disabled`
   است نه صفتِ `disabled`، پس کلیک می‌رسد و دلیلش گفته می‌شود — دکمه‌ی
   غیرفعالِ بی‌توضیح از دیدِ کاربر «خرابی» است.
   🪤 `pointer-events:none` ممنوع: با آن نه کلیک می‌رسید نه `title`. */
.otp-acts{display:flex;gap:10px;margin-top:16px}
.otp-act{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 12px;border-radius:14px;cursor:pointer;font-size:13.5px;font-weight:700;
  color:var(--ink);text-decoration:none;
  background:var(--panel);border:1px solid var(--brd);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  transition:.2s var(--ease)}
.otp-act:hover{border-color:color-mix(in srgb,var(--gold) 45%,var(--brd));color:var(--gold)}
.otp-act i{font-size:15px}
.otp-resend[aria-disabled="false"]{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}
.otp-resend[aria-disabled="true"]{opacity:.62;cursor:default}
.otp-resend[aria-disabled="true"]:hover{border-color:var(--brd);color:var(--ink)}
.otp-count{font-size:12.5px;font-weight:700;color:var(--muted);direction:ltr;letter-spacing:.4px}
.otp-msg{min-height:20px;margin-top:10px;text-align:center;font-size:13px;color:var(--muted)}
.otp-msg.is-bad{color:#e2554e}
@media(max-width:420px){
  .otp-acts{flex-direction:column}
}
/* ---- کامپوننتِ رمز عبور (چک‌لیستِ زنده + نوار قدرت + تطابق) ---- */
.pw{margin-top:2px}
.pw-label{display:block;font-size:13px;color:var(--muted);font-weight:600;margin:16px 0 8px}
.pw-field{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--brd);border-radius:14px;
  padding:12px 15px;transition:.2s var(--ease);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.pw-field:focus-within{border-color:var(--gold)}
.pw-field>i{color:var(--gold);font-size:17px;flex:0 0 auto}
.pw-field input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;font-size:15px;color:var(--ink);direction:ltr;text-align:left}
.pw-field input::placeholder{color:var(--faint)}
.pw-eye{background:none;border:none;color:var(--muted);cursor:pointer;font-size:17px;padding:0;display:flex;align-items:center;transition:.2s var(--ease)}
.pw-eye:hover{color:var(--gold)}
.pw-strength{display:flex;gap:6px;margin-top:11px}
.pw-strength span{height:5px;flex:1;border-radius:99px;background:var(--brd);transition:.28s var(--ease)}
.pw-strength span.l1{background:#e2554e}
.pw-strength span.l2{background:#e0a53e}
.pw-strength span.l3{background:#3ab0c4}
.pw-strength span.l4{background:#28aa96}
.pw-strength-label{font-size:12px;font-weight:700;margin-top:6px;min-height:15px}
.pw-strength-label.lv1{color:#e2554e}.pw-strength-label.lv2{color:#e0a53e}
.pw-strength-label.lv3{color:#3ab0c4}.pw-strength-label.lv4{color:#28aa96}
.pw-reqs{list-style:none;margin:13px 0 2px;padding:0;display:grid;gap:8px}
.pw-reqs li{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted);transition:.2s var(--ease)}
.pw-reqs li i{font-size:15px;color:var(--faint);flex:0 0 auto;transition:.2s var(--ease)}
.pw-reqs li.ok{color:var(--ink)}
.pw-reqs li.ok i{color:#28aa96}
.pw-match{font-size:12.5px;font-weight:700;margin-top:9px;min-height:15px}
.pw-match.ok{color:#28aa96}
.pw-match.bad{color:#e2554e}
.btn-auth{width:100%;justify-content:center;margin-top:20px;padding:14px!important;font-size:15.5px}
.btn-auth:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}

/* ---- DASHBOARD (گلس) ---- */
.dash{padding:20px 0}
.dash-grid{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
.dash-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:4px;padding:14px}
.dash-side a{display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:13px;
  color:var(--muted);font-weight:600;font-size:14.5px;transition:.2s var(--ease)}
.dash-side a i{font-size:17px}
.dash-side a:hover{background:var(--panel-2);color:var(--ink)}
.dash-side a.active{background:var(--panel-2);color:var(--gold)}
.user-dash .dash-side a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.user-dash .dash-side-icon{display:grid;place-items:center;box-sizing:border-box;flex:0 0 auto}
.user-dash .dash-side-chevron,.user-dash .dash-side-divider{display:none}
.dash-side a.disabled{opacity:.45;pointer-events:none}
.dash-main{min-width:0}
.alert-ok{background:rgba(40,170,150,.12);border:1px solid rgba(40,170,150,.35);color:#28aa96;
  border-radius:14px;padding:12px 15px;margin-bottom:16px;font-size:14px}
/* هم‌ریختِ alert-ok برای پیامِ بازدارنده. رنگ **کهربایی** است نه قرمز:
   «سقفت پر است» خطای کاربر نیست، یک واقعیتِ حساب است — همان قاعده‌ی
   «نکاتِ قابلِ توجه» در کارتِ تحلیل. */
.alert-err{display:flex;align-items:center;gap:8px;
  background:color-mix(in srgb,#d99a3c 12%,transparent);
  border:1px solid color-mix(in srgb,#d99a3c 35%,transparent);color:#d99a3c;
  border-radius:14px;padding:12px 15px;margin-bottom:16px;font-size:14px}
/* راهنمای بازه‌ی مجازِ فیلدهای عددیِ فرمِ ملک — خنثی، نه خطا */
.bounds-hint{display:block;margin-top:5px;font-size:11.5px;color:var(--muted);line-height:1.7}
/* دکمه‌ی عملِ بسته: شکلِ دکمه را دارد ولی کلیک‌پذیر نیست */
.btn.is-capped{opacity:.55;cursor:not-allowed;pointer-events:auto}
/* آیتمِ منویِ هدر که سقفش پر است — کم‌رنگ با قفلِ کوچک، ولی هنوز کلیک‌پذیر
   (به داشبورد می‌برد که دلیل را کامل توضیح می‌دهد) */
.menu a.is-capped{opacity:.55;display:flex;align-items:center;justify-content:space-between;gap:6px}
.menu a.is-capped i{font-size:11px}
.dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px}
.dash-head h5{font-size:19px;font-weight:700;display:flex;align-items:center;gap:9px}
.dash-head h5 i{color:var(--gold)}
.dash-head .btn-gold{padding:11px 20px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:18px}
.pcard{overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease)}
.pcard:hover{transform:translateY(-5px)}
.pcard .ph{position:relative;margin:6px;border-radius:14px;background-position:center}
/* z-index روی نشان‌های داخلِ قابِ عکس می‌مانَد: قاب `position:relative` است و
   هر لایه‌ای که بعداً رویش بیفتد (یک بار یک ::after بود) نشان را می‌پوشاند. */
.pcard .st{position:absolute;z-index:2;top:10px;inset-inline-end:10px;font-size:11px;font-weight:700;
  padding:4px 11px;border-radius:99px;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pcard .st.on{background:rgba(40,170,150,.85)}
.pcard .st.off{background:rgba(120,130,125,.85)}
.pcard .st.sold{background:rgba(199,156,94,.9)} /* طلایی — معامله‌ی موفق */
/* دکمه‌ی «فروخته شد» — اکسنتِ طلاییِ ظریف */
.btn-sm-glass.sold-btn{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}
.pcard .pb{padding:6px 16px 16px;display:flex;flex-direction:column;flex:1}
.pcard h6{font-size:15px;font-weight:700;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard .meta{color:var(--muted);font-size:12.5px;margin-bottom:10px}
.pcard .price{font-weight:700;margin-bottom:13px;font-size:16px}
.pcard .price small{font-weight:500;color:#9aa49e;font-size:12px}
/* اکشن‌های کارت: هر دکمه یک سطرِ تمام‌عرض و هم‌قد (فرم‌ها contents تا دکمه‌ها مستقیم آیتم شوند) */
.pcard .acts{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.pcard .acts form{display:contents}
.pcard .acts .btn-sm-glass{width:100%;height:38px;padding:0 12px;font-size:13px;white-space:nowrap}
.btn-sm-glass{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 10px;
  border-radius:11px;border:1px solid var(--brd);background:var(--panel-2);color:var(--ink);
  font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;text-decoration:none;transition:.2s var(--ease);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.btn-sm-glass:hover{background:rgba(255,255,255,.12);color:var(--gold)}
.btn-sm-glass.danger:hover{color:#e2554e}
.btn-sm-glass.disabled{opacity:.45;pointer-events:none}
.dash-empty{text-align:center;color:var(--muted);padding:54px 0;margin-top: 5px}
.dash-empty p{margin-bottom:16px}
.dash-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:24px}
.dash-pager .pageinfo{color:var(--muted);font-size:13px}
.dash-pager .btn-sm-glass{width:auto;padding:9px 18px}
@media(max-width:900px){
  .dash-grid{grid-template-columns:1fr}
  /* لانچرِ موبایلِ داشبورد: دو عملِ اصلی، سه میان‌بُر و ردیف‌های حساب.
     دوازده ستون نسبتِ نامتقارنِ ردیف اول و سه کارتِ برابر را بدون شکست در RTL می‌سازد. */
  .user-dash .dash-grid{gap:18px}
  .user-dash .dash-side{position:static;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px;padding:16px 14px;border-radius:28px;overflow:hidden;isolation:isolate}
  html[data-theme="dark"] .user-dash .dash-side{background:var(--panel-2);
    box-shadow:0 20px 48px -32px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.06)}
  html[data-theme="light"] .user-dash .dash-side{background:var(--panel-2);
    box-shadow:0 20px 48px -32px rgba(15,75,86,.28),inset 0 1px 0 rgba(255,255,255,.62)}
  .user-dash .dash-side a{min-width:0;margin:0;padding:10px 11px;gap:9px;
    border:1px solid var(--brd-soft);border-radius:19px;background:var(--panel);
    color:var(--ink);line-height:1.45;text-decoration:none;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 7%,transparent);
    -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
    transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}
  .user-dash .dash-side-icon{width:50px;height:50px;border:1px solid var(--brd-soft);border-radius:16px;
    background:var(--panel-2);color:var(--muted);font-size:22px;line-height:1;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 7%,transparent);transition:.2s var(--ease)}
  .user-dash .dash-side-icon>i{display:grid;place-items:center;width:100%;height:100%;font-size:inherit;line-height:1}
  .user-dash .dash-side-label{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;color:var(--ink);font-size:15px;font-weight:700}
  .user-dash .dash-side-chevron{width:22px;height:22px;place-items:center;flex:0 0 auto;
    color:var(--gold);font-size:18px;line-height:1}
  .user-dash .dash-side-chevron>i{display:grid;place-items:center;width:100%;height:100%;font-size:inherit;line-height:1}
  .user-dash .dash-side a.active{border-color:color-mix(in srgb,var(--gold) 72%,var(--brd));
    background:color-mix(in srgb,var(--gold) 8%,var(--panel));color:var(--ink);
    box-shadow:0 10px 26px -18px color-mix(in srgb,var(--gold) 65%,transparent),inset 0 0 18px color-mix(in srgb,var(--gold) 8%,transparent)}
  .user-dash .dash-side a.active .dash-side-icon,
  .user-dash .dash-side .dash-nav-add:not(.disabled) .dash-side-icon{border-color:color-mix(in srgb,var(--gold) 78%,var(--brd));
    background:var(--gold);color:var(--gold-fg);box-shadow:0 8px 20px -10px color-mix(in srgb,var(--gold) 70%,transparent)}

  .user-dash .dash-side .dash-nav-home,.user-dash .dash-side .dash-nav-add{min-height:88px;
    flex-direction:row;justify-content:flex-start;text-align:start}
  .user-dash .dash-side .dash-nav-home{grid-column:span 6;order:1}
  .user-dash .dash-side .dash-nav-add{grid-column:span 6;order:2}
  .user-dash .dash-side .dash-nav-home .dash-side-label,
  .user-dash .dash-side .dash-nav-add .dash-side-label{flex:1 1 auto;font-size:15.5px}
  .user-dash .dash-side .dash-nav-home,.user-dash .dash-side .dash-nav-add{padding-inline:8px;gap:7px}
  .user-dash .dash-side .dash-nav-home .dash-side-icon,
  .user-dash .dash-side .dash-nav-add .dash-side-icon{width:46px;height:46px}
  .user-dash .dash-side .dash-nav-home .dash-side-chevron{width:18px;font-size:16px}
  .user-dash .dash-side .dash-nav-add .dash-side-icon{border-radius:50%}
  .user-dash .dash-side .dash-nav-home .dash-side-chevron{display:grid}

  .user-dash .dash-side .dash-nav-shortcut{grid-column:span 4;min-height:132px;padding:14px 6px 12px;
    flex-direction:column;justify-content:center;gap:10px;text-align:center}
  .user-dash .dash-side .dash-nav-requests{order:3}
  .user-dash .dash-side .dash-nav-notifications{order:4}
  .user-dash .dash-side .dash-nav-favorites{order:5}
  .user-dash .dash-side .dash-nav-shortcut .dash-side-label{font-size:13.5px}
  .user-dash .dash-side .dash-nav-shortcut.active .dash-side-icon,
  .user-dash .dash-side .dash-nav-notifications:has(.side-badge:not([hidden])) .dash-side-icon{
    border-color:color-mix(in srgb,var(--gold) 56%,var(--brd));color:var(--gold);
    box-shadow:0 7px 20px -11px color-mix(in srgb,var(--gold) 70%,transparent),inset 0 0 15px color-mix(in srgb,var(--gold) 9%,transparent)}
  .user-dash .dash-side .side-badge{position:absolute;top:12px;inset-inline-start:10px;margin:0;
    min-width:23px;height:23px;padding-inline:6px;border:1px solid color-mix(in srgb,var(--gold) 70%,var(--brd));
    background:var(--gold);color:var(--gold-fg);box-shadow:0 5px 13px -7px color-mix(in srgb,var(--gold) 75%,transparent);line-height:1}

  .user-dash .dash-side-divider{display:block;grid-column:1/-1;order:6;position:relative;height:1px;
    margin:7px 2px 3px;background:var(--brd-soft)}
  .user-dash .dash-side-divider::after{content:"";position:absolute;top:0;left:50%;width:72px;height:1px;
    transform:translateX(-50%);background:var(--gold);box-shadow:0 0 9px color-mix(in srgb,var(--gold) 65%,transparent)}

  .user-dash .dash-side .dash-nav-wide{grid-column:1/-1;min-height:66px;padding:9px 11px;
    flex-direction:row;justify-content:flex-start;gap:12px;text-align:start}
  .user-dash .dash-side .dash-nav-verification{order:7}
  .user-dash .dash-side .dash-nav-settings{order:8}
  .user-dash .dash-side .dash-side-admin{order:9;margin-top:0;padding:9px 11px!important;
    border-color:color-mix(in srgb,var(--gold) 68%,var(--brd));
    background:color-mix(in srgb,var(--gold) 7%,var(--panel));
    box-shadow:0 9px 25px -19px color-mix(in srgb,var(--gold) 74%,transparent),inset 0 0 16px color-mix(in srgb,var(--gold) 7%,transparent)}
  .user-dash .dash-side .dash-nav-wide .dash-side-icon{width:46px;height:46px;border-radius:15px;color:var(--gold)}
  .user-dash .dash-side .dash-nav-wide .dash-side-label{flex:1 1 auto;font-size:15.5px}
  .user-dash .dash-side .dash-nav-wide .dash-side-chevron{display:grid;margin-inline-start:auto}
  .user-dash .dash-side .dash-nav-wide.active .dash-side-icon{background:var(--gold);color:var(--gold-fg)}
  @media(hover:hover){
    .user-dash .dash-side a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--gold) 42%,var(--brd));
      background:color-mix(in srgb,var(--gold) 5%,var(--panel))}
  }
  .pgrid{grid-template-columns:1fr}
}

@media(max-width:360px){
  .user-dash .dash-side{gap:8px;padding:11px 10px;border-radius:24px}
  .user-dash .dash-side a{padding:8px;gap:6px;border-radius:16px}
  .user-dash .dash-side-icon{width:44px;height:44px;border-radius:14px;font-size:20px}
  .user-dash .dash-side .dash-nav-home,.user-dash .dash-side .dash-nav-add{min-height:78px}
  .user-dash .dash-side .dash-nav-home .dash-side-icon{width:40px;height:40px}
  .user-dash .dash-side .dash-nav-home .dash-side-label,
  .user-dash .dash-side .dash-nav-add .dash-side-label{font-size:13px;white-space:normal;line-height:1.45}
  .user-dash .dash-side .dash-nav-home .dash-side-chevron{width:16px;height:18px;font-size:14px}
  .user-dash .dash-side .dash-nav-shortcut{min-height:116px;padding-inline:3px;gap:8px}
  .user-dash .dash-side .dash-nav-shortcut .dash-side-label{font-size:12px;white-space:normal;line-height:1.45}
  .user-dash .dash-side .dash-nav-wide{min-height:60px}
  .user-dash .dash-side .dash-nav-wide .dash-side-icon{width:40px;height:40px;border-radius:13px}
  .user-dash .dash-side .dash-nav-wide .dash-side-label{font-size:14px}
}

/* ---- GLASS ACCORDION (جایگزین آکاردیون بوت‌استرپ) ---- */
.gacc{display:flex;flex-direction:column;gap:12px}
.gacc-item{overflow:hidden}
.gacc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:18px 22px;background:transparent;border:none;cursor:pointer;font-family:inherit;
  font-weight:700;font-size:15.5px;color:var(--ink);text-align:right;direction:rtl;transition:.2s var(--ease)}
.gacc-q:hover{color:var(--gold)}
.gacc-q .ic{color:var(--gold);font-size:18px;transition:transform .3s var(--ease);flex:0 0 auto}
.gacc-item.open .gacc-q .ic{transform:rotate(45deg)}
.gacc-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.gacc-a-in{padding:0 22px 20px;color:var(--muted);font-size:14.5px;line-height:2}
.gacc-a-in strong{color:var(--ink)}
.gacc-a-in ul{padding-inline-start:20px;margin-top:8px}
.gacc-a-in li{margin-bottom:6px}

/* ---- GLASS MODAL (جایگزین مودال بوت‌استرپ) ---- */
.gmodal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(8,14,12,.5);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  opacity:0;visibility:hidden;transition:.25s var(--ease)}
.gmodal.open{opacity:1;visibility:visible}
.gmodal-dialog{width:540px;max-width:100%;max-height:90vh;overflow:auto;
  transform:translateY(14px) scale(.98);transition:.28s var(--ease)}
.gmodal.open .gmodal-dialog{transform:none}
/* ظرفِ مودال = همان مرجعِ ورود (.lm): --panel-2 + --glass + --brd */
.gmodal .gmodal-dialog{background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:22px}
.gmodal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--brd-soft)}
.gmodal-head h5{font-size:17px;font-weight:700}
.gmodal-close{background:none;border:none;color:var(--muted);font-size:26px;cursor:pointer;line-height:1}
.gmodal-close:hover{color:var(--gold)}
.gmodal-body{padding:20px 22px}
.gmodal-foot{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:16px 22px;border-top:1px solid var(--brd-soft)}
/* فیلدهای فرمِ داخل مودال/صفحات گلس */
.gform label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px;font-weight:600}
.gform .form-group{margin-bottom:15px}
.gform input,.gform select,.gform textarea{width:100%;border:1px solid var(--brd);background:var(--panel);
  border-radius:13px;padding:12px 14px;font-family:inherit;font-size:14.5px;color:var(--ink);outline:none;transition:.2s;
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.gform input:focus,.gform select:focus,.gform textarea:focus{border-color:var(--gold)}
/* فیلد به سبکِ فرم لاگین: «پیل» شیشه‌ای با آیکون داخل */
.gform .fld{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--brd);
  border-radius:15px;padding:12px 15px;transition:.2s}
.gform .fld.area{align-items:flex-start}
.gform .fld:focus-within{border-color:var(--gold)}
.gform .fld > i{color:var(--gold);font-size:18px;flex:0 0 auto;line-height:1.6}
.gform .fld input,.gform .fld select,.gform .fld textarea{flex:1;width:auto;border:none;background:transparent;
  border-radius:0;padding:0;font-size:14.5px;color:var(--ink);outline:none;
  -webkit-backdrop-filter:none;backdrop-filter:none}
.gform .fld select{cursor:pointer}
.gform .fld textarea{resize:vertical;min-height:52px}
.gform .fld input[type=file]{color:var(--muted);cursor:pointer}
.gform .fld input::placeholder,.gform .fld textarea::placeholder{color:var(--faint)}

/* ---- select گلسِ سفارشی (جایگزین select نیتیو، یکدست روی همه دستگاه‌ها) ---- */
.gsel{position:relative;width:100%;border:1px solid var(--brd);background:var(--panel);
  border-radius:13px;-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);transition:.2s}
.gsel.open{border-color:var(--gold)}
.gsel select{display:none}
.gsel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:transparent;border:none;padding:12px 14px;font-family:inherit;font-size:14.5px;color:var(--ink);cursor:pointer;text-align:right}
.gsel-label.ph{color:var(--faint)}
.gsel-chev{color:var(--muted);font-size:13px;transition:transform .25s var(--ease);flex:0 0 auto}
.gsel.open .gsel-chev{transform:rotate(180deg)}
.gsel-list{position:absolute;top:calc(100% + 8px);inset-inline:0;z-index:60;
  background:var(--menu-bg);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:14px;
  box-shadow:0 24px 60px -24px rgba(0,0,0,.5);padding:6px;max-height:240px;overflow:auto;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s var(--ease)}
.gsel.open .gsel-list{opacity:1;visibility:visible;transform:none}
/* هایلایتِ گزینه‌ها — همان الگوی دراپ‌داونِ فرمِ ملک (.pf-dd-opt).
   ⚠️ پیش‌تر هایلایت var(--panel) بود: در تمِ تیره یک روپوشِ سفیدِ ‎۵٪ روی منوی
   تقریباً مات، که هم کم‌رنگ بود هم رنگی غیر از رنگِ منو می‌ساخت. تینتِ اکسنت
   هم واضح‌تر است هم با انتخابِ گلسِ بقیه‌ی پروژه یکی. */
.gsel-opt{padding:11px 13px;border-radius:10px;font-size:14px;color:var(--ink);cursor:pointer;
  transition:background .15s,color .15s}
.gsel-opt:hover{background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold)}
.gsel-opt.sel{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold);font-weight:700}
.gsel-opt.placeholder{color:var(--faint)}
/* گزینه‌ی زیرِ نشانگرِ کیبورد هم باید دیده شود، وگرنه ناوبری با فلش کور است */
.gsel-opt.active{background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold)}

/* ---- آپلودِ فایلِ مدرن (دکمه‌ی شیک + نام فایل) ---- */
.gfile{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--brd);background:var(--panel-2);
  border-radius:13px;padding:8px 10px 8px 8px;-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.gfile .gfile-native{display:none}
.gfile-btn{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;
  background:var(--panel-solid,#fff);border:1px solid var(--brd);border-radius:10px;padding:9px 16px;
  font-family:inherit;font-size:13.5px;font-weight:700;color:var(--gold);cursor:pointer;transition:.2s var(--ease)}
.gfile-btn:hover{background:var(--gold);color:var(--gold-fg);border-color:transparent}
.gfile-btn i{font-size:15px}
.gfile-name{flex:1;min-width:0;font-size:13px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gfile-name.has{color:var(--ink);font-weight:600}
html[data-theme="dark"] .gfile-btn{background:rgba(255,255,255,.08)}

/* ---- LEGAL ---- */
.legal-hero{padding:48px 50px;text-align:right}
.legal-hero h1{font-size:clamp(28px,3.4vw,44px);font-weight:700;line-height:1.45;margin-bottom:14px}
.legal-hero h1 .gd{color:var(--gold)}
.legal-hero p{color:var(--muted);font-size:16.5px;line-height:2;max-width:none;margin-bottom:24px;white-space:nowrap}
@media(max-width:1100px){.legal-hero p{white-space:normal}}
.ic-scale{width:17px;height:17px;flex:0 0 auto;vertical-align:-3px}
.legal-hero .hero-cta{justify-content:flex-start}
.legal-expert{display:grid;grid-template-columns:300px 1fr;gap:0;overflow:hidden}
.legal-expert .le-img{min-height:320px;background-size:cover;background-position:center top}
.legal-expert .le-tx{padding:36px 38px}
.legal-expert .le-tx h2{margin-bottom:14px}
.legal-expert .le-tx p{color:var(--muted);font-size:15px;line-height:2;margin-bottom:18px}
.legal-expert .le-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.legal-expert .le-meta div{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:14px}
.legal-expert .le-meta i{color:var(--gold)}
@media(max-width:760px){
  .legal-hero{padding:34px 26px}
  .legal-hero .hero-cta{flex-wrap:wrap}
  .legal-expert{grid-template-columns:1fr}
  .legal-expert .le-img{min-height:240px}
}

/* ---- DOCS (review-docs) ---- */
/* سرتیترِ بخش در صفحه‌ی بررسی — جایگزینِ بنرهای عکس‌دار.
   عکس‌های استوکی هیچ اطلاعاتی نمی‌دادند و با تمِ گلس هم‌خوان نبودند؛ حالا
   شماره + آیکون + عنوان، هم‌خانواده‌ی .kick و .s-head بقیه‌ی سایت. */
.docs-head{display:flex;align-items:center;gap:16px;padding:20px 24px;margin-bottom:16px;
  border-radius:var(--r);position:relative;overflow:hidden}
.docs-head::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;
  background:var(--gold);opacity:.75}
.docs-head .dh-n{flex:0 0 auto;font-size:12px;font-weight:800;color:var(--gold);
  border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:99px;
  padding:3px 10px;letter-spacing:.5px}
.docs-head .dh-ic{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;
  place-items:center;font-size:22px;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 26%,transparent)}
.docs-head .dh-tx{min-width:0}
.docs-head .dh-tx h3{font-size:19px;font-weight:700;color:var(--ink);margin:0 0 3px;line-height:1.6}
.docs-head .dh-tx p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.8}
/* دو ستون که در موبایل زیرِ هم می‌روند */
.docs-cols{display:flex;flex-wrap:wrap;gap:8px 34px}
.docs-col{flex:1 1 280px;min-width:0}
@media(max-width:600px){
  .docs-head{gap:12px;padding:16px 18px}
  .docs-head .dh-ic{width:40px;height:40px;font-size:19px}
  .docs-head .dh-tx h3{font-size:16.5px}
}
/* ============================================================
   بارگذاریِ مدارکِ حقوقی (legal-uploader.js)
   ============================================================ */
.lg-up{display:flex;flex-direction:column;gap:10px}
.lg-docs{display:flex;flex-direction:column;gap:8px}
.lg-docs:empty{display:none}
.lg-doc{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:13px;
  background:var(--panel);border:1px solid var(--brd)}
/* بندانگشتی نسبتِ آزاد دارد: مدرک قالبِ ثابت ندارد (کارت ملی افقی، سند عمودی) */
.lg-doc-th{flex:0 0 46px;width:46px;height:46px;border-radius:10px;background-size:cover;
  background-position:center;background-color:var(--panel-2);border:1px solid var(--brd-soft)}
.lg-doc-th.is-file{display:grid;place-items:center;color:var(--gold);font-size:20px}
.lg-doc-nm{flex:1;min-width:0;font-size:13px;color:var(--ink);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right}
.lg-doc-x{flex:0 0 auto;width:28px;height:28px;border-radius:9px;border:1px solid var(--brd);
  background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;
  font-size:16px;transition:.2s var(--ease)}
.lg-doc-x:hover{border-color:#e2554e;color:#e2554e}
.lg-add{display:flex;align-items:center;gap:9px;width:100%;padding:13px 15px;cursor:pointer;
  border-radius:15px;border:1px dashed var(--brd);background:var(--panel);color:var(--muted);
  font-family:inherit;font-size:14px;font-weight:600;transition:.2s var(--ease)}
.lg-add:hover{border-color:var(--gold);color:var(--gold)}
.lg-add[hidden]{display:none}
.lg-add > i{color:var(--gold);font-size:18px}
.lg-add .lg-count{margin-inline-start:auto;font-size:11.5px;font-weight:500;color:var(--faint)}
.lg-add.is-busy{opacity:.6;pointer-events:none}
.lg-err{margin:0;font-size:12px;color:#e2554e;line-height:1.8}
.lg-err:empty{display:none}
.lg-note{display:flex;align-items:flex-start;gap:7px;margin:6px 0 0;font-size:11.5px;
  line-height:1.9;color:var(--faint)}
.lg-note i{margin-top:3px;flex:0 0 auto;color:var(--gold)}
.lg-note > span{flex:1 1 auto;min-width:0}
.lg-msg{margin:10px 0 0;font-size:13px;line-height:1.9}
.lg-msg:empty{display:none}
.lg-msg.is-ok{color:#2ec27e}
.lg-msg.is-bad{color:#e2554e}
/* مودالِ کراپ */
.lg-crop-hint{display:flex;align-items:flex-start;gap:7px;margin:0 0 12px;font-size:12px;
  line-height:1.9;color:var(--faint)}
.lg-crop-hint i{margin-top:3px;flex:0 0 auto;color:var(--gold)}
.lg-crop-hint > span{flex:1 1 auto;min-width:0}
.lg-crop-stage{max-height:56vh;border-radius:14px;overflow:hidden;background:var(--panel)}
.lg-crop-stage img{max-width:100%;display:block}

.docs-card{padding:30px 32px;margin-bottom:40px}
.docs-card .lead-p{color:var(--muted);font-size:16px;line-height:2;margin-bottom:22px}
.docs-card h3{font-size:18px;font-weight:700;margin:18px 0 12px;color:var(--gold)}
.docs-card ul{padding-inline-start:22px}
.docs-card li{color:var(--muted);font-size:14.5px;line-height:1.9;margin-bottom:7px}

/* ---- STATS ---- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:72px;border-radius:var(--r);overflow:hidden;
  background:var(--brd-soft)}
.stat{background:rgba(255,255,255,.025);padding:30px 18px;text-align:center;backdrop-filter:var(--glass)}
.stat .n{font-size:40px;font-weight:700;letter-spacing:-1px;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .n span{color:var(--gold);-webkit-text-fill-color:var(--gold)}
.stat .l{font-size:14px;color:var(--muted);font-weight:600}

/* ---- SECTION HEAD ---- */
.block{padding:88px 0}
.s-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:38px;gap:20px}
/* ---- کیکر و عنوانِ سکشن — منبعِ یگانه برای کلِ سایت ---- */
/* کیکر = چیپِ طلایی (همه‌جا: s-head, legal, sell, legal-hero, …) */
.kick{display:inline-flex;align-items:center;gap:7px;color:var(--gold);font-weight:700;font-size:12.5px;
  letter-spacing:.5px;background:color-mix(in srgb,var(--gold) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 25%,transparent);border-radius:99px;padding:6px 14px;margin-bottom:12px}
.kick i{font-size:14px;line-height:1}
.kick svg{flex:0 0 auto}
/* عنوانِ واحدِ همه‌ی سکشن‌ها: تایپِ سیال + خطوطِ متعادل */
.s-head h2,.legal h2,.news h2,.sell-cta h2,.legal-expert .le-tx h2{
  font-size:clamp(26px,4.2vw,38px);font-weight:700;letter-spacing:-.8px;line-height:1.45;text-wrap:balance}
.s-head p{color:var(--muted);font-size:15px;margin-top:6px}
/* موبایل: عنوان تمام‌عرض، اکشن به‌صورت لینکِ متنیِ طلایی در ردیفِ بالا */
@media(max-width:760px){
  .s-head{display:block;position:relative;margin-bottom:26px}
  .s-head>.btn,.s-head>.btn-glass{position:absolute;top:2px;inset-inline-end:0;
    background:none!important;border:none!important;box-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    padding:6px 0!important;color:var(--gold)!important;font-size:13px!important;font-weight:700}
  .s-head p{font-size:13.5px}
}

/* ---- CATEGORIES ---- */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cat{padding:26px 14px;text-align:center;cursor:pointer;transition:.28s var(--ease)}
.cat:hover{transform:translateY(-6px);background:var(--panel-2)}
.cat .ci{width:58px;height:58px;margin:0 auto 14px;border-radius:17px;background:rgba(224,189,134,.12);color:var(--gold);
  display:grid;place-items:center;font-size:27px;border:1px solid rgba(224,189,134,.2);transition:.28s var(--ease)}
.cat:hover .ci{background:var(--gold);color:var(--gold-fg)}
.cat .ct{font-weight:700;font-size:14.5px}
.cat .cn{font-size:12px;color:var(--faint)}

/* ---- LISTINGS ---- */
/* ستونِ ~۲۸۸px تا عکسِ ۴:۵ ارتفاعِ معقول بگیرد — توضیحِ کامل کنارِ «قابِ مبنا» */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:24px}
/* ⚠️ ستونِ فلکس عمدی است. کارت‌های یک ردیفِ گرید هم‌ارتفاع کشیده می‌شوند، پس
   کارتی که محتوای کمتری دارد ته‌مانده‌ی ارتفاع را خالی می‌گذاشت — با یک
   دلیلِ هم‌خوانی، نوارِ متا وسطِ کارت تمام می‌شد و زیرش نوارِ لختِ کارت
   می‌مانْد. فضای اضافه به **نوارِ متا** داده می‌شود نه بدنه، تا پس‌زمینه‌اش
   تا کفِ کارت ادامه پیدا کند و کارت‌های یک ردیف یک‌شکل دیده شوند. */
.prop{overflow:hidden;transition:.34s var(--ease);display:flex;flex-direction:column}
.prop > .ph,.prop > .b{flex:0 0 auto}
.prop:hover{transform:translateY(-8px);background:var(--panel-2)}
.prop .ph{position:relative;margin:6px;border-radius:18px;background-position:center}
/* پلیس‌هولدرِ برنددارِ آگهیِ بدونِ تصویر: پنلِ گلس + چهارخانه‌ی محو + آیکونِ نوعِ ملک.
   هم روی کارتِ عمومی (.prop) و هم کارتِ داشبورد (.pcard) — جایگزینِ عکسِ بنفشِ پیش‌فرض. */
.prop .ph.ph-empty,.pcard .ph.ph-empty{background:var(--panel);display:grid;place-items:center;border:1px solid var(--brd-soft)}
.prop .ph.ph-empty::before,.pcard .ph.ph-empty::before{content:"";position:absolute;inset:0;border-radius:18px;
  background-image:linear-gradient(var(--brd-soft) 1px,transparent 1px),
    linear-gradient(90deg,var(--brd-soft) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask:radial-gradient(75% 75% at 50% 45%,#000,transparent 88%);
  mask:radial-gradient(75% 75% at 50% 45%,#000,transparent 88%)}
.pcard .ph.ph-empty::before{border-radius:14px}
.pcard:hover .phx-ic{transform:translateY(-4px);color:var(--gold-1)}
.phx{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px}
.phx-ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:var(--gold);
  background:var(--panel-2);border:1px solid var(--brd);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  box-shadow:0 14px 30px -18px rgba(0,0,0,.4);transition:.3s var(--ease)}
.prop:hover .phx-ic{transform:translateY(-4px);color:var(--gold-1)}
.phx-type{font-size:14px;font-weight:700;color:var(--ink)}
.phx-brand{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:2px}
.phx-brand::before,.phx-brand::after{content:"";width:22px;height:1px;background:var(--gold);opacity:.5}
.ph-video .phx-ic{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}
.video-cover-chip{position:absolute;z-index:3;bottom:12px;inset-inline-start:12px;display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid rgba(255,255,255,.25);border-radius:99px;
  color:#fff;background:rgba(7,14,12,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;font-weight:700}
.listing-video-play{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);
  min-height:50px;padding:7px;border:1px solid rgba(255,255,255,.34);border-radius:99px;
  display:inline-flex;align-items:center;gap:9px;white-space:nowrap;cursor:pointer;font:inherit;font-size:13px;font-weight:800;
  color:#fff;background:rgba(7,14,12,.66);-webkit-backdrop-filter:blur(14px) saturate(1.35);backdrop-filter:blur(14px) saturate(1.35);
  box-shadow:0 12px 34px -12px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease)}
.listing-video-play:hover{transform:translate(-50%,-50%) scale(1.04);background:color-mix(in srgb,var(--gold) 82%,#101815);border-color:transparent;color:var(--gold-fg)}
.listing-video-play:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 72%,#fff);outline-offset:3px}
.listing-video-play-icon{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;padding-inline-start:2px;
  color:var(--gold-fg);background:var(--gold);box-shadow:0 5px 18px color-mix(in srgb,var(--gold) 50%,transparent)}
.listing-video-play-icon i{font-size:30px;line-height:1; margin: 3px 0 0 3px}
.listing-video-play:hover .listing-video-play-icon{background:var(--gold-fg);color:var(--gold)}
.listing-video-play.is-compact{width:46px;height:46px;min-height:46px;padding:4px;justify-content:center}
.listing-video-play.is-compact .listing-video-play-icon{width:36px;height:36px}
.listing-video-play span{font-weight:600}
.badge{position:absolute;top:14px;inset-inline-start:14px;z-index:2;font-size:12px;font-weight:700;padding:6px 14px;
  border-radius:99px;background:var(--panel-2);color:var(--gold);border:1px solid var(--brd);
  backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass)}
.badge.glass{background:rgba(20,28,24,.55);backdrop-filter:blur(6px);color:#fff;border:1px solid rgba(255,255,255,.2)}

/* ---------- برچسب‌های کارتِ آگهی ----------
   ⚠️ همه در **یک ردیف** و هم‌ارتفاع (۲۴px)، نه پخش در دو گوشه با اندازه‌های
   مختلف — همان چیزی که کارت را آماتور نشان می‌داد. رنگ فقط جایی می‌آید که
   معنا دارد: «ویژه» اکسنت، «فروخته شد» طلایی، بقیه شیشه‌ی خنثی. */
.tagrow{position:absolute;top:12px;inset-inline-start:12px;z-index:2;display:flex;gap:6px}
.tg{height:24px;padding:0 10px;border-radius:8px;display:inline-flex;align-items:center;gap:5px;
  font-size:11.5px;font-weight:700;white-space:nowrap;
  background:rgba(20,28,24,.5);color:#fff;border:1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tg i{font-size:11px}
.tg-vip{background:var(--gold);color:var(--gold-fg);border-color:transparent}
.tg-sold{background:var(--gold);color:var(--gold-fg);border-color:transparent}
html[data-theme="light"] .tg{background:rgba(255,255,255,.88);color:var(--ink);border-color:var(--brd)}
/* دکمه‌های شیشه‌ای (ذخیره + مقایسه) روی کارتِ آگهی — بلورِ قوی‌تر، هایلایتِ
   بالا و سایه‌ی نرم برای حسِ پریمیوم؛ روی هر پس‌زمینه‌ای (عکس یا پلیس‌هولدرِ روشن). */
.fav{position:absolute;top:12px;inset-inline-end:12px;z-index:2;width:40px;height:40px;border-radius:12px;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(16,22,20,.44);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);
  color:#fff;font-size:16px;cursor:pointer;display:grid;place-items:center;
  box-shadow:0 4px 14px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.16);
  transition:.25s var(--ease)}
.fav:hover{background:var(--gold);color:var(--gold-fg);border-color:transparent;
  transform:translateY(-1px);box-shadow:0 7px 18px color-mix(in srgb,var(--gold) 42%,transparent)}
/* ⚠️ در تمِ روشن شیشه‌ی تیره روی عکس/پلیس‌هولدرِ روشن لکه‌ی خاکستری می‌شد.
   پس‌زمینه سفیدِ نیمه‌شفاف با همان بلور، و قلم خاکستریِ تیره. تمِ تیره
   دست‌نخورده می‌مانَد. */
html[data-theme="light"] .fav{background:rgba(255,255,255,.82);color:#3c4a44;
  border-color:rgba(28,38,32,.14);box-shadow:0 3px 10px rgba(28,38,32,.08)}
html[data-theme="light"] .fav:hover{background:var(--gold);color:var(--gold-fg);border-color:transparent}
html[data-theme="light"] .fav.on{background:var(--gold);color:var(--gold-fg);border-color:transparent}
/* حالتِ ذخیره‌شده: چیپِ توپرِ اکسنت (فیروزه‌ای در لایت/طلایی در دارک) با آیکونِ
   کنتراست — نه آیکونِ فیروزه‌ایِ پررنگ روی شیشه‌ی خاکستری که بدنما بود. */
.fav.on{background:color-mix(in srgb,var(--gold) 92%,transparent);color:var(--gold-fg);
  border-color:transparent;box-shadow:0 5px 16px color-mix(in srgb,var(--gold) 42%,transparent)}
.fav.on:hover{background:var(--gold);color:var(--gold-fg)}
.fav.pop{animation:favPop .3s var(--ease)}
@keyframes favPop{0%{transform:scale(1)}40%{transform:scale(1.32)}100%{transform:scale(1)}}
/* روی صفحه‌ی جزئیات: کنارِ بَج، بیرون از قاب رسانه */
.pd-fav{width:42px;height:42px}
/* صفحه‌ی علاقه‌مندی‌های داشبورد */
.fav-grid{margin-top:4px}
.fav-empty{text-align:center;padding:54px 26px;border-radius:var(--r)}
.fav-empty>i{font-size:44px;color:var(--gold);display:block;margin-bottom:14px}
.fav-empty h6{font-size:16px;font-weight:700;margin-bottom:8px}
.fav-empty p{color:var(--muted);font-size:14px;margin-bottom:20px}
/* ---------- بدنه‌ی کارت: بخش‌های جدا با خطِ مویی ----------
   ⚠️ جداکننده روی `.sec` است نه روی تک‌تکِ بلوک‌ها، تا افزودنِ بخشِ تازه
   خودبه‌خود خط بگیرد و هیچ‌وقت دو خطِ چسبیده یا خطِ آویزان نسازد. */
.prop .b{padding:0 18px 16px}
.prop .b .sec{padding:11px 0;border-top:1px solid var(--brd-soft)}
.prop .b .sec:first-child{border-top:0}
.prop .loc{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}
.prop h3{font-size:16px;font-weight:700;line-height:1.7}
.prop h3 a{color:inherit;transition:.2s}
.prop h3 a:hover{color:var(--gold)}
/* لینکِ کشیده روی تصویرِ کارت (بَج و علاقه‌مندی رویش می‌مانند) */
.prop .ph .ph-link{position:absolute;inset:0;z-index:1;border-radius:18px}
/* مشخصاتِ فیزیکی: هر قلم با خطِ عمودیِ مویی از بعدی جدا می‌شود.
   ⚠️ تاریخِ ثبت (.ad-age) خط نمی‌گیرد — با margin به لبه‌ی مقابل رانده می‌شود
   و جداکننده‌اش وسطِ فضای خالی آویزان می‌مانْد. */
.specs{display:flex;gap:14px;color:var(--muted);font-size:12.5px;flex-wrap:wrap}
.specs span + span{padding-inline-start:14px;border-inline-start:1px solid var(--brd-soft)}
.specs .ad-age{padding-inline-start:0;border-inline-start:0}
/* ---------- تازگیِ آگهی (App\Support\ListingFreshness) ----------
   تاریخِ ثبت روی کارت، صفحه‌ی جزئیات و داشبورد. آگهیِ کهنه فقط *برجسته*
   می‌شود (کهربایی)، نه قرمز: کهنه‌بودن عیب نیست، یک واقعیت است. */
.specs .ad-age{margin-inline-start:auto;display:inline-flex;align-items:center;gap:5px;
  font-size:12px;color:var(--faint);white-space:nowrap}
.ad-age.old{color:#d99a3c}
.ad-age.old i{color:#d99a3c}
.pd-meta .ad-age.old,.pd-meta .ad-age.old i{color:#d99a3c}
.specs span{display:flex;align-items:center;gap:6px}
.specs i{color:var(--gold)}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
/* قیمت روی کارت یک نوارِ ملایمِ اکسنت می‌گیرد تا از بقیه‌ی ردیف‌ها جدا شود.
   ⚠️ تینت با color-mix از خودِ --gold ساخته می‌شود، نه رنگِ ثابت — در تمِ
   روشن فیروزه‌ای و در تیره طلایی می‌شود و با کلِ کارت هماهنگ می‌مانَد.
   جداکننده‌ی بالایی برداشته شد چون خودِ تینت نقشِ جدا کردن را دارد. */
.prop .b .sec.price-row{border-top:0;margin-top:4px;padding:11px 13px;border-radius:14px;}
/* حالتِ خالیِ لیستِ آگهی‌ها */
.grid-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:15px;padding:44px 0}

/* قیمت — استایلِ واحدِ کلِ پروژه: عدد ۱۶px، واحدِ پولی ۱۲px با #9aa49e.
   ⚠️ روی کارتِ آگهی عمداً رنگِ اکسنت می‌گیرد: قیمت اولین چیزی است که چشم
   دنبالش می‌گردد و با رنگِ متنِ معمولی در ردیفِ آخر گم می‌شد. */
.price{font-size:16px;font-weight:700}
.price small{font-size:12px;font-weight:500;color:#9aa49e}
.prop .price{font-size:17px;color:var(--gold);letter-spacing:-.2px}
.mini{width:44px;height:44px;border-radius:13px;background:var(--panel-2);color:var(--ink);border:1px solid var(--brd);cursor:pointer;
  display:grid;place-items:center;font-size:19px;transition:.25s var(--ease)}
.mini:hover{background:var(--gold);color:var(--gold-fg);border-color:transparent}

/* ---- LEGAL ---- */
.legal{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden}
.legal .tx{padding:62px 56px}
.legal h2{margin-bottom:16px}
.legal p{color:var(--muted);font-size:16px;margin-bottom:28px;max-width:440px}
.legal .feats{display:flex;flex-direction:column;gap:13px;margin-bottom:32px}
.legal .feats div{display:flex;align-items:center;gap:11px;font-size:15px}
.legal .feats i{color:var(--gold);font-size:19px}
.legal .img{height:100%;min-height:400px;display:flex;align-items:center;justify-content:center;padding:24px;
  position:relative;border-inline-start:1px solid var(--brd-soft)}

/* ---- TEAM ---- */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.member{overflow:hidden;transition:.3s var(--ease)}
.member:hover{transform:translateY(-6px);background:var(--panel-2)}
.member .mph{position:relative;height:320px;background-size:cover;background-position:center top;margin:6px;border-radius:18px}
.member .mph::after{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(0deg,rgba(12,18,15,.7),transparent 55%)}
.member .soc{position:absolute;bottom:14px;inset-inline-start:14px;z-index:2;display:flex;gap:8px;opacity:0;transform:translateY(8px);transition:.3s var(--ease)}
.member:hover .soc{opacity:1;transform:none}
.member .soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;font-size:16px;border:1px solid rgba(255,255,255,.2)}
.member .soc a:hover{background:var(--gold);color:var(--gold-fg)}
.member .mb{padding:6px 22px 20px;display:flex;align-items:center;justify-content:space-between}
.member .mb h4{font-size:18px;font-weight:700}
.member .mb p{font-size:13px;color:var(--gold);font-weight:700;background:rgba(224,189,134,.12);padding:5px 13px;border-radius:99px;border:1px solid rgba(224,189,134,.2)}

/* ---- NEWSLETTER ---- */
.news{padding:58px 56px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}
.news h2{margin-bottom:8px}
.news p{font-size:15.5px;color:var(--muted);max-width:520px}
.news form{display:flex;flex-direction:row-reverse;background:var(--panel-2);border:1px solid var(--brd);border-radius:16px;padding:7px;gap:6px;min-width:390px;backdrop-filter:var(--glass)}
.news input{flex:1;border:none;outline:none;background:transparent;padding:0 16px;font-family:inherit;font-size:15px;direction:ltr;text-align:left;color:var(--ink)}
.news input::placeholder{color:var(--faint)}

/* ---- FOOTER ---- */
.home-modern footer{margin-top:90px;border-top:1px solid var(--brd-soft)}
.foot{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:38px}
.foot .brand{margin-bottom:18px}
.foot .desc{color:var(--muted);font-size:14px;max-width:300px;margin-bottom:18px}
.foot h4{font-size:15px;font-weight:700;margin-bottom:16px;color:var(--gold)}
.foot a.fl{display:block;color:var(--muted);font-size:14px;padding:5px 0;transition:.2s}
.foot a.fl:hover{color:var(--ink);padding-inline-start:5px}
.foot .ci{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:14px;margin-bottom:10px}
.foot .ci i{color:var(--gold)}
.socials{display:flex;gap:10px;margin-top:16px}
.socials a{width:42px;height:42px;border-radius:12px;background:var(--panel-2);border:1px solid var(--brd);color:var(--ink);display:grid;place-items:center;font-size:18px;transition:.25s}
.socials a:hover{background:var(--gold);color:var(--gold-fg);border-color:transparent}
.copy{margin-top:48px;padding-top:24px;border-top:1px solid var(--brd-soft);text-align:center;color:var(--faint);font-size:13.5px}

@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr;text-align:center;gap:14px}
  /* باکس‌های برند بالای انیمیشن: فرزندانِ hero-copy مستقیم آیتمِ گرید می‌شوند */
  .hero-copy{display:contents}
  .brand-row{order:-2;justify-content:center;flex-wrap:nowrap;margin-bottom:4px}
  .hero-anim{order:-1}
  .hero-anim img{max-width:320px}
  .hero-anim .ha{max-width:290px}
  .hero h1{margin-inline:auto}
  .hero .lead{margin-inline:auto}
  .hero-cta{justify-content:center}
  .cats{grid-template-columns:repeat(3,1fr)}
  .grid,.team{grid-template-columns:repeat(2,1fr)}
  .legal{grid-template-columns:1fr}.legal .img{min-height:300px}
  .foot{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .mobile-p-40{padding-top: 40px}
  .links{display:none}.burger{display:grid}
  /* سه باکسِ برند در یک خط — کوچک‌سازیِ یکسانِ هر سه */
  .brand-row{gap:8px}
  .brand-lockup,.hero-badge{padding:7px 12px;gap:9px;border-radius:14px}
  .brand-lockup::before,.hero-badge::before{height:26px}
  .brand-lockup .brand-text small,.hero-badge .hb-text small{font-size:10px}
  .brand-lockup .brand-text b,.hero-badge .hb-text b{font-size:15px}
  .home-original-hero :is(.brand-lockup,.hero-badge){min-height:60px;padding:10px 14px;box-sizing:border-box;border-radius:16px}
  .home-original-hero :is(.brand-lockup,.hero-badge)::before{height:32px}
  .home-original-hero :is(.brand-text,.hb-text) small{font-size:11px}
  .home-original-hero :is(.brand-text,.hb-text) b{font-size:18px}
  .searchbar{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid,.team,.cats{grid-template-columns:1fr}
  .news{grid-template-columns:1fr}
  .news form{min-width:0;flex-direction:column;gap:8px;padding:10px}
  .news input{padding:10px 14px;text-align:center}
  .news form .btn-gold{width:100%}
  .foot{grid-template-columns:1fr}
  .legal .tx{padding:42px 30px}
}
@media(max-width:374px){
  .home-original-hero .brand-row{gap:6px}
  .home-original-hero :is(.brand-lockup,.hero-badge){padding:9px 7px;gap:6px}
  .home-original-hero :is(.brand-text,.hb-text) small{font-size:10.5px;letter-spacing:0}
  .home-original-hero :is(.brand-text,.hb-text) b{font-size:17px;letter-spacing:0}
}

.dashboard-section{
  --pf-ink:var(--ink); --pf-text:var(--muted); --pf-muted:var(--muted); --pf-faint:var(--faint);
  --pf-shell:var(--panel);   --pf-shellBrd:var(--brd);
  --pf-card:var(--panel-2);  --pf-cardBrd:var(--brd);
  --pf-field:var(--panel);   --pf-fieldBrd:var(--brd);
  --pf-chip:var(--panel);    --pf-chipBrd:var(--brd-soft); --pf-slotBg:var(--panel);
  --pf-line:var(--brd-soft); --pf-stepCircle:var(--panel); --pf-homeBox:var(--panel-2);
  --pf-gold:var(--gold);     --pf-btnFg:var(--gold-fg);
  --pf-toggleOff:var(--panel-2); --pf-toggleOffBrd:var(--brd);
}
/* فقط گلوِ محیطیِ پایین theme-specific می‌ماند (تزئینی، مثلِ .amb) */
html[data-theme="light"] .dashboard-section{--pf-glow1:rgba(120,160,200,.16);--pf-glow2:rgba(150,185,150,.12)}
html[data-theme="dark"]  .dashboard-section{--pf-glow1:rgba(70,100,80,.12);--pf-glow2:rgba(90,110,80,.10)}

/* صفحه‌ی فرم کمی پهن‌تر تا پوسته جا بگیرد (فقط صفحاتی که فرمِ ملک دارند) */
.dash .wrap:has(.dashboard-section){max-width:1680px}

/* ---------- پوسته‌ی بیرونی (گلسِ تخت + گلوِ محیطیِ پایین) ---------- */
.dash .dashboard-section{
  position:relative; max-width:1640px; margin:0 auto; padding:24px 22px 42px;
  background:var(--pf-shell)!important; border:1px solid var(--pf-shellBrd)!important;
  border-radius:30px!important; overflow:visible; color:var(--pf-text);
  -webkit-backdrop-filter:var(--glass); backdrop-filter:var(--glass);
  box-shadow:0 40px 90px -50px rgba(31,72,110,.45), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.dash .dashboard-section::before{ /* گلوِ محیطیِ پایین — مثلِ .amb */
  content:""; position:absolute; left:0; right:0; bottom:0; height:230px; z-index:0; pointer-events:none;
  border-radius:0 0 30px 30px;
  background:
    radial-gradient(60% 80% at 28% 100%, var(--pf-glow1), transparent 70%),
    radial-gradient(60% 80% at 72% 100%, var(--pf-glow2), transparent 70%);
}
.dashboard-section > *{ position:relative; z-index:2 }

/* عنوانِ قدیمیِ h6 → پنهان (تولبار جایگزین شد) */
.dashboard-section > h6{ display:none!important }

/* ---------- تولبار (عنوان + آیکونِ خانه) ---------- */
.pf-toolbar{display:flex;align-items:center;gap:16px;padding:6px 8px 4px}
.pf-toolbar-title{font-size:21px;font-weight:700;color:var(--pf-ink)}
.pf-home-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;
  background:var(--pf-homeBox);border:1px solid var(--pf-cardBrd);
  box-shadow:0 8px 20px -12px rgba(31,72,110,.5)}
.pf-home-icon svg{stroke:var(--pf-gold);fill:none}

/* ---------- استپرِ دایره‌ای (تمام‌عرض، اسکرولِ افقی) ---------- */
.dashboard-section .modern-progress{background:transparent!important;border:none!important;
  box-shadow:none!important;padding:26px 12px 8px!important;margin:0!important}
.modern-progress .progress-head{display:block}
.modern-progress .step-meta,.modern-progress .step-title,.modern-progress .progress-line{display:none}
.modern-progress .step-icons-wrapper{width:100%}
.modern-progress .step-icons{display:flex;gap:0;overflow-x:auto;padding:6px 0 4px;scrollbar-width:none}
.modern-progress .step-icons::-webkit-scrollbar{height:0;display:none}
.modern-progress .step-icon{flex:1 1 0;min-width:96px;position:relative;
  display:flex;flex-direction:column;align-items:center;gap:0;opacity:1;cursor:pointer}

/* خطِ اتصال (به سمتِ مرحله‌ی بعد — RTL یعنی چپ) */
.modern-progress .step-icon:not(:last-child)::before{content:"";position:absolute;top:31px;
  inset-inline-start:calc(50% + 31px);width:calc(100% - 62px);height:1.5px;background:var(--pf-fieldBrd);z-index:0}

/* دایره‌ی آیکون */
.modern-progress .step-icon .step-icon-svg{position:relative;z-index:1;box-sizing:content-box;
  width:24px;height:24px;padding:18px;border:1.5px solid var(--pf-fieldBrd);border-radius:50%;
  color:var(--pf-faint);fill:none;stroke:currentColor;background:var(--pf-stepCircle);
  transition:.25s var(--ease)}
.modern-progress .step-icon .icon-label{margin-top:11px;font-size:13px;color:var(--pf-muted);font-weight:600;
  text-align:center;line-height:1.3;white-space:nowrap}

/* شماره‌ی مرحله (از data-step) */
.modern-progress .step-icon::after{content:attr(data-step);display:grid;place-items:center;
  margin-top:9px;width:26px;height:26px;border-radius:50%;border:1px solid var(--pf-gold);
  color:var(--pf-gold);font-size:12px;font-weight:700;background:transparent;transition:.25s var(--ease)}

/* مراحلِ انجام‌شده (قبل از مرحله‌ی فعال) */
.modern-progress .step-icon:has(~ .step-icon.is-active) .step-icon-svg{
  border-color:color-mix(in srgb,var(--pf-gold) 55%,transparent);color:var(--pf-gold)}
.modern-progress .step-icon:has(~ .step-icon.is-active)::before{background:var(--pf-gold)}
.modern-progress .step-icon:has(~ .step-icon.is-active)::after{background:var(--pf-gold);color:var(--pf-btnFg);border-color:var(--pf-gold)}

/* مرحله‌ی فعال */
.modern-progress .step-icon.is-active .step-icon-svg{border-color:var(--pf-gold);color:var(--pf-gold);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--pf-gold) 14%,transparent)}
.modern-progress .step-icon.is-active .icon-label{color:var(--pf-ink)}
.modern-progress .step-icon.is-active::after{background:var(--pf-gold);color:var(--pf-btnFg);border-color:var(--pf-gold)}

/* ---------- کارتِ فرم ---------- */
.form-modern{max-width:1100px;margin:18px auto 0;
  background:var(--pf-card)!important;-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--pf-cardBrd)!important;border-radius:26px;
  box-shadow:0 30px 70px -40px rgba(31,72,110,.45);padding:30px clamp(22px,5vw,64px) 30px;color:var(--pf-text)}

/* دیوایدرِ الماسی (یک‌بار، بالای کارت) */
.pf-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 22px}
.pf-divider span{height:1px;width:80px;background:var(--pf-gold);opacity:.55}
.pf-divider i{width:11px;height:11px;background:var(--pf-gold);transform:rotate(45deg);border-radius:2px}

/* سرتیترِ هر مرحله (وسط‌چین، بزرگ) */
.property-step{padding:0}
.property-step .step-header{text-align:center;margin-bottom:30px;color:var(--pf-ink);
  font-size:clamp(24px,3.2vw,38px);font-weight:700;line-height:1.4;letter-spacing:-.4px}
.property-step .step-header h5{font-size:clamp(22px,3vw,34px);font-weight:700;margin:0;color:var(--pf-ink)}
.property-step .step-header small{display:block;font-size:15px;font-weight:500;color:var(--pf-muted);margin-top:10px;letter-spacing:0}

/* ---------- لیبل و فیلدها ---------- */
.dashboard-section label:not(.feature-card):not(.switch),.dashboard-section .form-label{
  display:block;font-size:14.5px;color:var(--pf-text);font-weight:600;margin-bottom:10px}
.dashboard-section label span.text-danger{color:var(--pf-gold)!important;font-size:inherit} /* ستاره‌ی الزامی = طلایی */
.dashboard-section .form-control{
  width:100%!important;background:var(--pf-field)!important;border:1px solid var(--pf-fieldBrd)!important;
  border-radius:16px!important;padding:16px 20px!important;font-family:inherit!important;font-size:15px!important;
  color:var(--pf-ink)!important;outline:none!important;transition:.2s var(--ease)!important;box-shadow:none!important}
.dashboard-section textarea.form-control{resize:vertical;min-height:110px}
.dashboard-section .form-control:focus{border-color:var(--pf-gold)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--pf-gold) 16%,transparent)!important}
.dashboard-section .form-control::placeholder{color:var(--pf-faint)!important}
.dashboard-section select.form-control{cursor:pointer;appearance:none;-webkit-appearance:none;padding-inline-start:46px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239fb0bd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 18px center}
.dashboard-section .text-danger{color:#e2554e!important;font-size:12.5px;margin-top:6px}
.dashboard-section .amount-words{font-size:12px;color:var(--pf-gold)!important;margin-top:6px;display:block;font-weight:600}

/* ---------- دراپ‌داونِ سفارشیِ گلس (جایگزینِ <select>) ---------- */
.pf-dd{position:relative}
.pf-dd > select.form-control{display:none!important} /* نیتیو فقط وقتی enhance شد مخفی */
.pf-dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--pf-field);border:1px solid var(--pf-fieldBrd);border-radius:16px;padding:16px 20px;
  font-family:inherit;font-size:15px;color:var(--pf-ink);cursor:pointer;text-align:right;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.pf-dd-btn .pf-dd-label.ph{color:var(--pf-faint)}
.pf-dd-btn .pf-dd-chev{flex:0 0 auto;display:grid;place-items:center;color:#9fb0bd;transition:transform .25s var(--ease)}
.pf-dd-btn .pf-dd-chev svg{display:block}
.pf-dd.open .pf-dd-btn{border-color:var(--pf-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--pf-gold) 16%,transparent)}
#propertyCreateForm[data-property-form-mode="create"] :is(.pf-dd-btn,#modernUploadBox):focus,
#propertyCreateForm[data-property-form-mode="create"] .feature-card:has(input:focus){outline:2px solid var(--pf-gold);outline-offset:3px}
.pf-dd.open .pf-dd-chev{transform:rotate(180deg)}
.pf-dd-menu { position: absolute; top: calc(100% + 8px); inset-inline: 0; z-index: 60; background: var(--menu-bg); -webkit-backdrop-filter: var(--glass); backdrop-filter: var(--glass); border: 1px solid var(--brd); border-radius: 16px; box-shadow: 0 24px 60px -24px rgba(0,0,0,.5); padding: 7px 0 7px 7px; max-height: 280px; overflow-y: auto; overflow-x: hidden; display: none; }
.pf-dd.open .pf-dd-menu { display: block; animation: pfDdIn .16s var(--ease); }
@keyframes pfDdIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.pf-dd-menu::-webkit-scrollbar { width: 6px !important; }
.pf-dd-menu::-webkit-scrollbar-track { background: transparent !important; margin-block: 15px !important; }
.pf-dd-menu::-webkit-scrollbar-thumb { background: var(--scroll-thumb) !important; border-radius: 99px !important; }
.pf-dd-menu::-webkit-scrollbar-thumb:hover { background: var(--scroll-thumb-h) !important; }
.pf-dd-menu::-webkit-scrollbar-button { display: none !important; height: 0 !important; }
.pf-dd-opt{margin: 5px;padding:10px 15px;border-radius:4px;font-size:15px;font-weight:500;color:var(--pf-ink);
  cursor:pointer;text-align:right;transition:.15s}
.pf-dd-opt.ph{color:var(--pf-faint)}
.pf-dd-opt:hover{background:color-mix(in srgb,var(--pf-gold) 10%,transparent);color:var(--pf-gold)}
.pf-dd-opt.sel{font-weight:700;color:var(--pf-gold);background:color-mix(in srgb,var(--pf-gold) 12%,transparent)}

/* استان/شهر (ورودیِ datalist → دراپ‌داونِ جستجوگرِ گلس) */
.pf-dl{position:relative}
.pf-dl input.form-control{padding-inline-start:46px!important}
.pf-dl .pf-dd-chev{position:absolute;top:50%;inset-inline-start:18px;transform:translateY(-50%);
  color:#9fb0bd;pointer-events:none;display:grid;place-items:center;transition:transform .25s var(--ease)}
.pf-dl .pf-dd-chev svg{display:block}
.pf-dl.open .pf-dd-chev{transform:translateY(-50%) rotate(180deg)}
.pf-dl.open input.form-control{border-color:var(--pf-gold)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--pf-gold) 16%,transparent)!important}

/* ---------- سوییچ رهن/اجاره ---------- */
.rent-switch-field{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--pf-chip);border:1px solid var(--pf-chipBrd);border-radius:16px;padding:15px 20px}
.rent-switch-text{color:var(--pf-ink);font-weight:600;font-size:15px}
.dashboard-section .switch{position:relative;display:inline-block;width:52px;height:30px;flex:0 0 auto;margin:0}
.dashboard-section .switch input{position:absolute;opacity:0;width:0;height:0;margin:0}
.dashboard-section .switch .slider{position:absolute;inset:0;cursor:pointer;background:var(--pf-toggleOff);
  border:1px solid var(--pf-toggleOffBrd);border-radius:99px;transition:.25s var(--ease)}
.dashboard-section .switch .slider::before{content:"";position:absolute;width:22px;height:22px;top:50%;inset-inline-end:4px;
  transform:translateY(-50%);background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.25s var(--ease)}
.dashboard-section .switch input:checked + .slider{background:var(--pf-gold);border-color:var(--pf-gold)}
.dashboard-section .switch input:checked + .slider::before{inset-inline-end:calc(100% - 26px)}

/* ---------- کارت‌های امکانات/ویژگی (کارت + سوییچ) ---------- */
.dashboard-section .feature-card{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;
  margin:0;background:var(--pf-field);border:1px solid var(--pf-fieldBrd);border-radius:14px;padding:12px 16px;
  transition:.2s var(--ease);min-height:58px}
.dashboard-section .feature-card input{position:absolute;opacity:0;width:0;height:0;margin:0}
.feature-card .fc-name{display:flex;flex-direction:column;gap:3px;font-size:14.5px;color:var(--pf-text);font-weight:600;line-height:1.4;text-align:right}
.feature-card .fc-name::after{content:"غیرفعال";font-size:11px;font-weight:600;color:var(--pf-faint);transition:.2s var(--ease)}
.feature-card:has(input:checked) .fc-name::after{content:"فعال";color:var(--pf-gold)}
.feature-card .fc-toggle{position:relative;flex:0 0 auto;width:46px;height:26px;border-radius:99px;
  background:var(--pf-toggleOff);border:1px solid var(--pf-toggleOffBrd);transition:.25s var(--ease)}
.feature-card .fc-toggle::before{content:"";position:absolute;top:50%;inset-inline-end:3px;width:20px;height:20px;
  transform:translateY(-50%);border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.25s var(--ease)}
.dashboard-section .feature-card:hover{border-color:var(--pf-gold)}
.dashboard-section .feature-card:has(input:checked){border-color:var(--pf-gold);background:color-mix(in srgb,var(--pf-gold) 10%,var(--pf-field))}
.feature-card:has(input:checked) .fc-name{color:var(--pf-gold)}
.feature-card:has(input:checked) .fc-toggle{background:var(--pf-gold);border-color:var(--pf-gold)}
.feature-card:has(input:checked) .fc-toggle::before{inset-inline-end:calc(100% - 23px)}

/* ---------- آپلود یکپارچهٔ تصویر و ویدیو ---------- */
.modern-upload-box{width:100%;font:inherit;background:var(--pf-slotBg)!important;border:2px dashed var(--pf-fieldBrd)!important;border-radius:20px!important;
  padding:38px 20px!important;text-align:center;cursor:pointer;transition:.25s var(--ease);color:var(--pf-muted)}
.modern-upload-box:hover,.modern-upload-box.drag-over{border-color:var(--pf-gold)!important;
  background:color-mix(in srgb,var(--pf-gold) 7%,var(--pf-slotBg))!important}
.modern-upload-box .upload-icon{margin-bottom:6px;line-height:0}
.modern-upload-box .upload-icon svg{stroke:var(--pf-gold);fill:none}
.modern-upload-box p{font-size:14.5px;line-height:1.9;color:var(--pf-muted);margin:0}.modern-upload-box p strong{color:var(--pf-ink);font-size:16px}
.media-upload-limits{display:block;margin-top:7px;color:var(--pf-faint);font-size:12.5px;line-height:1.8}
.fixed-image-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:600px){.fixed-image-slots{grid-template-columns:repeat(3,1fr)}}
.slot-card{position:relative;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;touch-action:pan-y;
  background:var(--pf-slotBg);border:1px solid var(--pf-fieldBrd);border-radius:14px;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease),opacity .2s var(--ease)}
.slot-card .slot-number{color:var(--pf-faint);font-size:16px;font-weight:700}
/* قابِ مبنا: کلِ عکس دیده شود نه بریده. اسلات از قبل ۴:۵ است و کراپرِ فرم
   هم ۴:۵ می‌سازد، پس در حالتِ عادی هیچ نواری نمی‌افتد؛ ولی عکسِ آگهیِ قدیمی
   در حالتِ ویرایش دیگر بریده نمی‌شود. */
.slot-card .slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.slot-card .slot-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0b1110}
.slot-card.is-empty{cursor:default;opacity:.66;border-style:dashed}
.slot-card.filled{cursor:pointer;border-color:color-mix(in srgb,var(--pf-gold) 62%,var(--pf-fieldBrd))}
.slot-card.is-video{cursor:pointer;background:color-mix(in srgb,var(--pf-gold) 9%,#0b1110)}
.slot-card.cover-selected{border-color:var(--pf-gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--pf-gold) 22%,transparent)}
.slot-card:focus-visible{outline:2px solid var(--pf-gold);outline-offset:3px}
.slot-card.slot-card-ready{transform:scale(1.025);box-shadow:0 12px 28px -16px rgba(0,0,0,.6)}
.slot-card.slot-card-ghost{opacity:.35}
.slot-card.slot-card-dragging{transform:scale(1.04)}
.slot-card .slot-cover-label{position:absolute;top:7px;inset-inline-start:7px;z-index:2;display:none;
  background:var(--pf-gold);color:var(--pf-btnFg);font-size:10px;font-weight:700;padding:3px 9px;border-radius:99px}
.slot-card.cover-selected .slot-cover-label{display:block}
.slot-card .slot-remove-btn{position:absolute;top:7px;inset-inline-end:7px;z-index:3;width:24px;height:24px;
  border:none;border-radius:50%;background:rgba(20,20,20,.6);color:#fff;font-size:16px;line-height:1;cursor:pointer;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center}
.slot-card .slot-remove-btn:hover{background:#e2554e}
.slot-video-mark{position:absolute;z-index:2;inset:50% auto auto 50%;translate:-50% -50%;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  color:#fff;background:rgba(8,15,13,.6);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:none}
.slot-video-mark[hidden]{display:none}.slot-video-mark i{font-size:24px;line-height:1;translate:-1px 0}
.slot-video-edit{position:absolute;z-index:3;left:50%;bottom:7px;translate:-50% 0;min-height:34px;padding:5px 10px;border:1px solid rgba(255,255,255,.24);border-radius:11px;
  display:flex;align-items:center;gap:5px;font:inherit;font-size:11px;font-weight:700;color:#fff;background:rgba(7,14,12,.68);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer}
.slot-video-edit[hidden]{display:none}.slot-video-edit:focus-visible{outline:2px solid var(--pf-gold);outline-offset:2px}
.slot-reorder-hint{display:flex;align-items:center;gap:8px;margin:-4px 2px 12px;color:var(--pf-muted);font-size:13px;line-height:1.8}
.slot-reorder-hint i{flex:0 0 auto;color:var(--pf-gold);font-size:17px}
.slot-upload-progress{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  color:#fff;background:rgba(7,14,12,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.slot-upload-progress[hidden]{display:none}
.slot-progress-ring{--slot-progress:0;position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--pf-gold) calc(var(--slot-progress) * 1%),rgba(255,255,255,.18) 0)}
.slot-progress-ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:rgba(10,20,17,.92)}
.slot-progress-value{position:relative;z-index:1;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.slot-progress-status{font-size:11px;font-weight:700}
.slot-card.is-uploading{opacity:1;border-style:solid;border-color:var(--pf-gold)}
.property-media-support{margin-top:14px;min-width:0}.property-media-status{min-height:24px;margin:0;color:var(--pf-muted);font-size:14px;line-height:1.8}
.property-media-support>video[hidden]{display:none}.property-media-support .pv-recovery{margin-top:8px;padding:10px 14px;border:1px solid var(--pf-fieldBrd);border-radius:14px;background:var(--pf-slotBg)}
.property-media-support .pv-recovery summary{cursor:pointer;min-height:40px;align-content:center;color:var(--pf-muted);font-size:13px}
.property-media-support .pv-recovery p{margin:6px 0 10px;color:var(--pf-muted);font-size:13px;line-height:1.8}
@media(max-width:600px){.modern-upload-box{padding:28px 14px!important}.media-upload-limits{font-size:12px}.slot-video-edit span{display:none}.slot-video-edit{min-width:36px;justify-content:center;padding-inline:8px}}

/* قدم آخر از همان کارتِ صفحهٔ اصلی استفاده می‌کند؛ فقط کاور، بدون پلیر دوم. */
.property-preview-card{width:100%;max-width:360px;margin-inline:auto;overflow-wrap:anywhere}
#propertyPreviewCard [hidden]{display:none!important}
.property-preview-card .ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.property-preview-card .ph:not(.ph-empty) .phx{display:none}
.property-preview-card .fav,.property-preview-card .mini{pointer-events:none;cursor:default}
.property-preview-card .specs>span{padding-inline-start:0;border-inline-start:0}
.property-preview-card .specs>span:not([hidden])~span:not([hidden]):not(.ad-age){padding-inline-start:14px;border-inline-start:1px solid var(--brd-soft)}

/* ---------- دکمه‌های اکشن ---------- */
.step-actions{display:flex;flex-direction:column;gap:0;margin-top:30px}
.modern-button{width:100%!important;margin:0!important;
  border:1px solid transparent;border-radius:18px;padding:18px;
  font-family:inherit;font-weight:700;font-size:16px;cursor:pointer;transition:.2s var(--ease)}
.modern-button.primary,.modern-button.success{background:var(--panel-2)!important;color:var(--gold)!important;
  border:1px solid var(--brd)!important;-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  box-shadow:0 18px 40px -22px rgba(0,0,0,.5)}
.modern-button.primary:hover,.modern-button.success:hover{background:rgba(255,255,255,.12)!important;transform:translateY(-2px)}
/* ردیفِ پایین (تازه‌سازی مرورگر | بازگشت به مرحله قبل) — مثلِ نمونه */
.form-tools{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:22px;
  padding-top:18px;border-top:1px solid var(--pf-line)}
.tool-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--pf-muted);
  font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;padding:4px 6px;border-radius:8px;position:relative}
.tool-btn:hover{color:var(--pf-gold)}
.tool-btn svg{display:block;stroke:currentColor;fill:none}
/* «مرور از اول» مخفی تا با نمونه یکی شود */
#gotoStart{display:none!important}
/* جداکننده‌ی عمودیِ بینِ آیتم‌ها */
.form-tools .tool-btn + .tool-btn:not(#gotoStart)::before{content:"";position:absolute;inset-inline-end:calc(100% + 9px);top:50%;
  transform:translateY(-50%);width:1px;height:16px;background:var(--pf-line)}
/* دکمه‌ی «بازگشت به مرحله قبل» در مرحله‌ی اول کم‌رنگ */
.modern-button.is-first-step{opacity:.4;pointer-events:none}

/* ⭐ «ادامه»/«ثبت» تا کامل‌شدنِ قدم قفل است.
   ⚠️ `cursor:not-allowed` عمداً هست و `pointer-events:none` عمداً **نیست**:
   با pointer-events هیچ‌وقت `title` (دلیلِ قفل) روی هاور دیده نمی‌شد. */
.modern-button:disabled,
.modern-button.is-blocked{opacity:.45;cursor:not-allowed;transform:none!important;
  box-shadow:none!important}
.modern-button:disabled:hover,
.modern-button.is-blocked:hover{background:var(--panel-2)!important;transform:none!important}

/* `.step-gate-hint` حذف شد: نوارِ متنیِ دلیلِ قفل از فرم برداشته شد و دلیل
   حالا فقط روی `title`ِ دکمه می‌آید. قانونش هم برداشته شد تا قانونِ مرده
   نماند — همان جاروی «قانون‌های خنثی‌شده». */

/* سرتیترِ «مقیاس» در قدمِ جزئیات — می‌گوید فیلدهای زیرش برای یک واحدند یا
   برای کلِ ساختمان. فقط برای ملکی که یکجا معامله می‌شود دیده می‌شود. */
.pf-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;
  margin:6px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--brd-soft)}
.pf-group b{font-size:15px;color:var(--gold)}
.pf-group span{font-size:12.5px;color:var(--pf-muted,var(--muted));line-height:1.9}

/* ---------- اسپینر پردازش ---------- */
.upload-spinner{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:18px;color:var(--pf-muted);font-size:14px}
.upload-spinner .spinner-circle{width:38px;height:38px;border-radius:50%;
  border:3px solid var(--pf-fieldBrd);border-top-color:var(--pf-gold);animation:pfSpin .8s linear infinite}
@keyframes pfSpin{to{transform:rotate(360deg)}}

/* ---------- خطای بالای فرم ---------- */
.dashboard-section .alert-danger{background:color-mix(in srgb,#e2554e 12%,transparent);
  border:1px solid color-mix(in srgb,#e2554e 35%,transparent);color:#e2554e;border-radius:16px;padding:14px 16px;margin-bottom:18px;margin-top:0!important}
.dashboard-section .alert-danger ul{margin:0;padding-inline-start:18px}

/* ---------- ادامهٔ آگهی نیمه‌کاره ---------- */
.pf-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 0 18px;padding:16px 18px;border-radius:18px;color:var(--ink);
  background:color-mix(in srgb,var(--panel-2) 88%,var(--gold) 12%);
  border:1px solid color-mix(in srgb,var(--gold) 38%,var(--brd));
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  box-shadow:0 14px 32px -24px rgba(0,0,0,.55)}
.pf-draft-banner[hidden]{display:none!important}
.pf-draft-copy{display:flex;align-items:center;gap:13px;min-width:0}
.pf-draft-copy>span:last-child{display:grid;gap:3px;min-width:0}
.pf-draft-copy strong{font-size:16px;line-height:1.8;color:var(--ink)}
.pf-draft-copy small{font-size:12.5px;line-height:1.85;color:var(--muted)}
.pf-draft-icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;
  font-size:19px;color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 32%,transparent)}
.pf-draft-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pf-draft-actions .btn-gold,.pf-draft-actions .btn-sm-glass{min-height:42px;padding:9px 17px}

/* ---------- ظرفِ برشِ تصویر (cropper) ---------- */
.property-crop-modal{direction:rtl;padding:12px;box-sizing:border-box}
.property-crop-modal .property-crop-dialog{width:min(420px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;box-sizing:border-box}
.property-crop-body{width:100%;min-width:0;padding:0!important;overflow:hidden}
.property-crop-cancel{width:auto;padding:11px 22px}
.instagram-cropper-container{width:100%;height:min(62vh,525px);min-width:0;overflow:hidden;box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;background:#0b0f0d}
.instagram-cropper-container img{max-width:100%;max-height:100%;display:block}

/* ---------- ریسپانسیو ---------- */
@media(max-width:680px){
  .dash .dashboard-section{padding:18px 14px 34px;border-radius:24px}
  .form-modern{padding:26px 18px 26px;border-radius:22px}
  .pf-draft-banner{align-items:stretch;flex-direction:column;padding:15px;gap:13px}
  .property-crop-modal{padding:10px}
  .property-crop-modal .property-crop-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:20px}
  .instagram-cropper-container{height:min(60dvh,500px)}
  .property-crop-modal .gmodal-head,.property-crop-modal .gmodal-foot{padding-inline:14px}
  .pf-draft-copy{align-items:flex-start}
  .pf-draft-copy strong{font-size:15px}
  .pf-draft-actions{width:100%}
  .pf-draft-actions .btn-gold,.pf-draft-actions .btn-sm-glass{flex:1 1 0;justify-content:center}
  .modern-progress .step-icon{min-width:72px}
  .modern-progress .step-icon .step-icon-svg{padding:15px;width:22px;height:22px}
  .modern-progress .step-icon:not(:last-child)::before{top:28px}
  .modern-progress .step-icon .icon-label{display:none}
  .modern-progress .step-icon::after{width:22px;height:22px;font-size:11px}
}

.lm,
.gmodal .gmodal-dialog,
.form-modern{
  background:var(--panel-2)!important;
  -webkit-backdrop-filter:var(--glass)!important;backdrop-filter:var(--glass)!important;
  border:1px solid var(--brd)!important;
}

html[data-theme="dark"] .dash .dashboard-section{
  background:rgba(10,15,12,.1)!important;
}

/* ============================================================
   PROPERTY DETAIL (.pd) — صفحه‌ی جزئیاتِ آگهی
   دوستونه در دسکتاپ (محتوا + سایدبارِ چسبان)، تک‌ستونه در موبایل
   با نوارِ چسبانِ پایینی (قیمت + تماس). گالری: scroll-snap لمسی.
   ============================================================ */
.pd{padding:28px 0 60px}
.pd-back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13.5px;font-weight:600;margin-bottom:16px;transition:.2s}
.pd-back:hover{color:var(--gold)}
.pd-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}
.pd-main{min-width:0}
.pd-side{position:sticky;top:120px;display:flex;flex-direction:column;gap:14px}

/* ---------- گالری ---------- */
/* ⭐ قابِ گالری با نسبتِ خودِ عکس (۴:۵) — نه قابِ افقیِ ثابت.
   عکس‌ها در فرم روی ۴:۵ کراپ می‌شوند، ولی قابِ قبلی نسبتِ ~۱٫۸ داشت و
   `cover` بود: یعنی بیش از نیمی از ارتفاعِ عکس بریده می‌شد و کاربر تصویری
   می‌دید که خودش نساخته بود. حالا قاب همه‌جا دقیقاً ۴:۵ است، بی‌هیچ برشی. */
/* ⭐⭐ سقف روی **عرض** می‌نشیند نه ارتفاع — کلِ ترفندِ حذفِ نوارهای بلور همین است.
   ==================================================================
   با سقفِ ارتفاع، قاب پهن‌تر از ۴:۵ می‌شد (۵۶۰×۶۲۰ یعنی نسبتِ ۰٫۹۰) و
   عکسِ ۴:۵ ناچار دو نوارِ خالی کنارش می‌گذاشت که با بلور پر می‌شد. یعنی
   **تاری از خودِ عکس‌ها نمی‌آمد، از همین سقف می‌آمد.**
   با سقفِ عرض، قاب همیشه ۴:۵ می‌ماند و همان عکس دقیقاً پرش می‌کند: نه نوار،
   نه برش. ارتفاع هم خودبه‌خود مهار می‌شود، چون عرض ÷ ۰٫۸ = --pd-gal-h. */
.pd-main{--pd-gal-h:min(76vh,620px);--pd-gal-w:calc(.8 * var(--pd-gal-h))}
.pd-gallery{position:relative;aspect-ratio:4/5;height:auto;
  max-width:var(--pd-gal-w);margin-inline:auto;
  overflow:hidden;border-radius:var(--r)}
/* نوارِ بندانگشتی از همان متغیر می‌خواند تا هم‌عرضِ قاب بماند؛ با عددِ دستی
   این دو با هر تغییر واگرا می‌شدند. */
@media(min-width:700px){
  .pd-gallery{max-width:min(560px,var(--pd-gal-w))}
  .pd-thumbs{max-width:min(560px,var(--pd-gal-w));margin-inline:auto}
}
.pd-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pd-track::-webkit-scrollbar{display:none}
.pd-slide{flex:0 0 100%;height:100%;scroll-snap-align:start}
.pd-video-slide{position:relative;display:grid;place-items:center;background:#080d10 center/cover no-repeat}
.pd-video-slide::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.1);pointer-events:none}
.pd-video-cover-play{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%);
  width:76px;height:76px;display:grid;place-items:center;cursor:pointer;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--gold) 58%,white 42%);color:var(--gold);
  background:linear-gradient(145deg,rgba(29,44,43,.82),rgba(8,17,20,.7));
  -webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);
  box-shadow:0 18px 44px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.34);
  transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}
.pd-video-cover-play::before{content:"";position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.38);
  border-radius:50%;box-shadow:0 0 0 5px rgba(10,23,24,.12)}
.pd-video-cover-play span{width:28px;height:32px;display:block;
  background:var(--gold);clip-path:polygon(8% 2%,96% 50%,8% 98%);
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.pd-video-cover-play:hover{transform:translate(-50%,-50%) scale(1.07);border-color:var(--gold);
  background:linear-gradient(145deg,rgba(38,57,54,.92),rgba(9,23,25,.85))}
.pd-video-cover-play:focus-visible{outline:3px solid var(--gold);outline-offset:10px}
.pd-video-cover-play[hidden]{display:none!important}
.pd-gallery-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#080d10}
.pd-gallery-video[hidden]{display:none!important}
.pd-gallery.is-playing-video{aspect-ratio:var(--pd-video-ratio,16 / 9);
  max-width:min(920px,calc(var(--pd-gal-h) * var(--pd-video-factor,1.7778)))}
.pd-gallery.is-playing-video .pd-slide{aspect-ratio:auto;height:100%}
.pd-gallery.is-playing-video ~ .pd-gallery-meta,
.pd-gallery.is-playing-video ~ .pd-video-message,
.pd-gallery.is-playing-video ~ .pd-video-visibility{max-width:min(920px,calc(var(--pd-gal-h) * var(--pd-video-factor,1.7778)))}
.pd-video-message{max-width:var(--pd-gal-w);margin:10px auto 0;padding:10px 14px;
  border:1px solid color-mix(in srgb,var(--gold) 38%,var(--brd));border-radius:12px;
  background:var(--panel-2);color:var(--ink);font-size:13px;line-height:1.7}
.pd-video-message[hidden]{display:none!important}
.pd-video-visibility{max-width:var(--pd-gal-w);margin:8px auto 0;display:flex;align-items:center;gap:7px;
  color:var(--muted);font-size:12.5px;line-height:1.7}
.pd-video-visibility i{color:var(--gold)}
@media(max-width:600px){.pd-video-cover-play{width:68px;height:68px}.pd-video-cover-play span{width:25px;height:29px}}
@media(prefers-reduced-motion:reduce){.pd-video-cover-play{transition:none}}
.pd-gallery.is-video-active .pd-nav{display:none}
.pd-gallery-meta{max-width:var(--pd-gal-w);margin:10px auto 0;display:flex;align-items:center;gap:10px;min-height:42px}
.pd-gallery-meta .pd-badge,.pd-gallery-meta .pd-fav,.pd-gallery-meta .pd-count{position:static;inset:auto;transform:none}
.pd-gallery-meta .pd-fav{margin-inline-start:auto;flex:none}
.pd-gallery-meta .pd-count{margin-inline-start:auto;white-space:nowrap}
.pd-gallery-meta .pd-fav+.pd-count{margin-inline-start:0}
@media(min-width:700px){.pd-gallery-meta,.pd-video-message,.pd-video-visibility{max-width:min(560px,var(--pd-gal-w))}}
.pd-video-thumb{position:relative;display:grid;place-items:center;color:#fff;background-color:#080d10}
.pd-video-thumb::after{content:"";position:absolute;inset:0;background:rgba(7,14,12,.24);pointer-events:none}
.pd-video-thumb i{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  padding-inline-start:2px;font-size:19px;background:rgba(7,14,12,.7);border:1px solid rgba(255,255,255,.35)}

/* ⭐⭐ مبنای همه‌ی عکس‌های آگهی در کلِ سایت — منبعِ یگانه.
   ==================================================================
   قاعده: **هر جا عکسِ آگهیِ ملک نمایش داده می‌شود، همین قاب مبناست** —
   نسبتِ ۴:۵، همان نسبتی که کراپرِ فرم می‌سازد. چون قاب و عکس هم‌نسبت‌اند،
   عکس قاب را **کامل پر می‌کند بی‌آنکه چیزی از آن بریده شود**: نه نوارِ خالی
   می‌مانَد، نه بلوری لازم است، نه برشی رخ می‌دهد.

   ⚠️ هر جای تازه‌ای که عکسِ آگهی نشان می‌دهد باید به همین فهرست اضافه شود،
   نه اینکه ارتفاع و نسبتِ خودش را تعریف کند — وگرنه همان واگراییِ قبلی
   برمی‌گردد که کارتِ داشبورد ۱۷۰px، کارتِ عمومی ۲۳۰px و گالری ۱٫۷۹ بود و
   هر کدام عکس را جور دیگری می‌بُرید.

   🪤 **فقط عرض تعیین می‌شود؛ ارتفاع از نسبت می‌آید.** هر سقفی هم باید روی
   عرض بنشیند نه ارتفاع — سقفِ ارتفاع قاب را از ۴:۵ بیرون می‌بَرد و همان
   نوارهای بلورِ کناری را برمی‌گردانَد که یک بار حذف شدند. */
.pd-slide,
.prop .ph:not(.ph-empty),
.pcard .ph:not(.ph-empty),
.cmp-thumb,
.req-thumb{
  position:relative;aspect-ratio:4/5;height:auto;overflow:hidden;
  background-size:cover;background-position:center;background-repeat:no-repeat
}
/* پلیس‌هولدرِ بی‌عکس هم همان نسبت را می‌گیرد تا کارت‌های گرید هم‌قد بمانند.
   عرضِ صریح و حاشیه‌های خودکار، قاب را مستقل از stretch در Flex/WebKit وسط نگه می‌دارند. */
.prop .ph.ph-empty,.pcard .ph.ph-empty{
  box-sizing:border-box;width:calc(100% - 12px);min-width:0;margin-inline:auto;
  aspect-ratio:4/5;height:auto
}

/* ⭐ چگالیِ مرور با **باریک‌ترکردنِ ستون** مهار می‌شود، نه با سقفِ ارتفاعِ عکس.
   ==================================================================
   مسئله واقعی بود: در ستونِ ۳۸۰ پیکسلی، ۴:۵ یعنی عکسِ ۴۷۵ پیکسلی و کارتِ
   ۷۲۰ پیکسلی — مرور کشته می‌شد. راهِ‌حلِ قبلی سقفِ `max-height:300px` بود،
   ولی آن قاب را ۳۸۰×۳۰۰ می‌کرد (نسبتِ ۱٫۲۵ در برابرِ ۰٫۸ عکس) و **۷۰ پیکسل
   نوارِ بلور در هر طرف** می‌گذاشت — یعنی ۳۷٪ عرضِ قاب تارِ بی‌اطلاعات بود.

   حالا سقف روی **عرضِ ستون** است: ستون‌ها از ۳ تا به ۴ تا می‌رسند (۲۸۸px)،
   پس عکس ۲۷۶×۳۴۵ می‌شود — از سقفِ قبلی هم بلندتر، **کامل، و بی‌هیچ نواری**.
   ضمناً چگالیِ مرور بهتر هم می‌شود: به‌جای ۳ آگهی در هر ردیف، ۴ تا.
   ⚠️ خودِ قانون در تعریفِ `.grid` و `.pgrid` است، نه اینجا — این پایین‌تر از
   مدیاکوئری‌های تبلت/موبایل می‌افتاد و بی‌صدا بی‌اثرشان می‌کرد. */

/* ---------- زومِ لحظه‌ای تصویر (pinch-zoom.js) ----------
   pan-x pan-y یعنی: اسکرولِ عمودیِ صفحه و اسکرول-اسنپِ افقیِ گالری باز
   بمانند، ولی زومِ خودِ مرورگر و دابل‌تپ خاموش شوند — وگرنه پینچ به‌جای
   تصویر، کلِ چیدمانِ صفحه را بزرگ می‌کرد. */
[data-zoomable]{touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none}
.pd-slide[data-zoomable]{cursor:zoom-in}
/* لایه دقیقاً روی قابِ همان عکس می‌نشیند (مختصات از JS) و overflow:hidden
   دارد، پس تصویرِ بزرگ‌شده از قاب بیرون نمی‌زند و بقیه‌ی صفحه دست‌نخورده
   می‌مانَد. pointer-events:none تا هیچ کلیکی بلعیده نشود (رویدادها روی
   document اند). */
.pz-layer{position:fixed;z-index:9999;pointer-events:none;overflow:hidden;border-radius:var(--r)}
.pz-clone{position:absolute;left:0;top:0;width:100%;height:100%;
  will-change:transform;backface-visibility:hidden}
@media (prefers-reduced-motion:reduce){
  .pz-clone{transition:none!important}
}
.pd-slide-empty{height:100%;display:grid;place-items:center;background:var(--panel)}
.pd-slide-empty::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--brd-soft) 1px,transparent 1px),
    linear-gradient(90deg,var(--brd-soft) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask:radial-gradient(75% 75% at 50% 45%,#000,transparent 88%);
  mask:radial-gradient(75% 75% at 50% 45%,#000,transparent 88%)}
.pd-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;font-size:18px;color:var(--ink);cursor:pointer;
  background:var(--panel-2);border:1px solid var(--brd);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);transition:.2s var(--ease)}
.pd-nav:hover{color:var(--gold)}
.pd-nav.next{inset-inline-start:14px}
.pd-nav.prev{inset-inline-end:14px}
.pd-count{position:absolute;bottom:12px;inset-inline-start:12px;z-index:3;background:rgba(0,0,0,.45);color:#fff;
  font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:99px;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pd-badge{position:absolute;top:14px;inset-inline-end:14px;z-index:3;font-size:12px;font-weight:700;
  padding:6px 14px;border-radius:99px;background:var(--panel-2);color:var(--gold);border:1px solid var(--brd);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.pd-badge.sold{background:var(--gold);color:var(--gold-fg);border-color:transparent}
@media(max-width:760px){.pd-nav{display:none}} /* موبایل: فقط سوایپ */

/* بندانگشتی‌ها */
.pd-thumbs{display:flex;gap:9px;margin-top:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.pd-thumbs::-webkit-scrollbar{display:none}
.pd-thumb{flex:0 0 76px;height:56px;border-radius:11px;background-size:cover;background-position:center;
  border:2px solid var(--brd);cursor:pointer;opacity:.65;transition:.2s var(--ease)}
.pd-thumb.on{border-color:var(--gold);opacity:1}
.pd-thumb:hover{opacity:1}

/* ---------- سربرگ ---------- */
.pd-head{margin-top:18px}
.pd-head h1{font-size:clamp(20px,2.8vw,29px);font-weight:700;line-height:1.55;letter-spacing:-.4px}
.pd-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;color:var(--muted);font-size:13.5px}
.pd-meta span{display:inline-flex;align-items:center;gap:6px}
.pd-meta i{color:var(--gold);font-size:14px}
.pd-code{opacity:.8}

/* ---------- مشخصاتِ کلیدی ---------- */
.pd-keyspecs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:16px}
.ks{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:16px;text-align:center}
.ks i{font-size:20px;color:var(--gold);margin-bottom:3px}
.ks b{font-size:14.5px;font-weight:700;color:var(--ink)}
.ks span{font-size:11.5px;color:var(--muted)}

/* ---------- کارت‌های محتوا ---------- */
.pd-card{margin-top:16px;padding:20px 22px;border-radius:var(--r)}
.pd-card h2{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;margin-bottom:14px}
.pd-card h2 i{color:var(--gold);font-size:17px}
.pd-report{padding:0;overflow:hidden}
.pd-report[open]{overflow:visible}
.pd-report summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:17px 20px;cursor:pointer;list-style:none;color:var(--muted);font-size:14px;font-weight:700}
.pd-report summary::-webkit-details-marker{display:none}
.pd-report summary>span{display:inline-flex;align-items:center;gap:9px}
.pd-report summary>span i{color:var(--gold);width:20px;display:grid;place-items:center}
.pd-report summary>.bi-chevron-down{font-size:13px;transition:transform .2s var(--ease)}
.pd-report[open] summary>.bi-chevron-down{transform:rotate(180deg)}
.pd-report summary:hover,.pd-report summary:focus-visible{color:var(--ink)}
.pd-report-body{border-top:1px solid var(--brd-soft);padding:17px 20px 20px}
.pd-report-body p{color:var(--muted);font-size:13.5px;line-height:1.9;margin:0 0 12px}
.pd-report-body label{display:block;color:var(--ink);font-size:13.5px;font-weight:700;margin:0 0 7px}
.pd-report-body label small{color:var(--muted);font-size:12px;font-weight:500}
.pd-report-body select,.pd-report-body textarea{width:100%;box-sizing:border-box;border:1px solid var(--brd);
  border-radius:12px;background:var(--panel);color:var(--ink);font:inherit;font-size:16px;padding:11px 12px;
  outline:none;margin-bottom:14px}
.pd-report-body .gsel{margin-bottom:14px;border-radius:12px}
.pd-report-body .gsel-btn{min-height:48px;padding:11px 12px;font-size:16px;font-weight:650}
.pd-report-body .gsel-list{z-index:80}
.pd-report-body textarea{resize:vertical;min-height:88px;line-height:1.8}
.pd-report-body select:focus,.pd-report-body textarea:focus{border-color:var(--gold)}
.pd-report-body .pd-report-error{color:#db5b54;margin:-7px 0 12px}
.pd-report-body .pd-report-feedback{color:var(--ink);margin:0}
.pd-report-submit,.pd-report-login{width:100%;justify-content:center;gap:8px}
.pd-report-submit i,.pd-report-login i{display:grid;place-items:center;width:18px;height:18px}
.pd-desc{color:var(--muted);font-size:14.5px;line-height:2.1;white-space:pre-line;margin:0}

/* جزئیاتِ کامل (dl دوستونه) */
.pd-dl{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:0}
.pd-dl .row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 2px;border-bottom:1px solid var(--brd-soft)}
.pd-dl dt{color:var(--muted);font-size:13px;font-weight:600}
.pd-dl dd{color:var(--ink);font-size:13.5px;font-weight:700;margin:0;text-align:left}
@media(max-width:640px){.pd-dl{grid-template-columns:1fr}}

/* امکانات و ویژگی‌ها */
.pd-tags{display:flex;flex-wrap:wrap;gap:9px}
.pd-tag{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--brd);
  border-radius:99px;padding:8px 15px;font-size:13px;font-weight:600;color:var(--ink)}
/* عرضِ ثابتِ ستونِ آیکون: آیکون‌ها دیگر یکسان نیستند و بدونِ این، پهنای
   متفاوتشان متنِ هر چیپ را چند پیکسل جابه‌جا می‌کرد و ردیف ناهموار می‌شد. */
.pd-tag i{flex:0 0 16px;width:16px;text-align:center;color:#2ec27e;font-size:14px;line-height:1}
.pd-tag.gold i{color:var(--gold)}

/* ---------- کارتِ قیمت ---------- */
.pd-pricebox{margin-top:0}
.pr-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0}
.pr-row + .pr-row{border-top:1px solid var(--brd-soft)}
.pr-row .pr-l{color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap;flex:0 0 auto}
.pr-row .price.gold{color:var(--gold)}
.pd-soldnote{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--gold) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);color:var(--gold);
  border-radius:13px;padding:10px 14px;font-size:13px;font-weight:700;margin-bottom:12px}

/* ---------- کارتِ تماس ---------- */
.pd-contact{margin-top:0;display:flex;flex-direction:column;gap:12px}
/* ============ کارتِ فروشنده در صفحه‌ی آگهی (.pd-contact) ============
   چیدمان: آواتار و نشانِ زیرش (راست) → نام و آخرین‌ورود (چپ) → آمار → تماس →
   آیکون‌ها.
   ⚠️ سربرگِ رنگی عمداً وجود ندارد. هر نوارِ تینت‌خورده‌ای بالای کارت — حتی
   تک‌رنگ — سطحِ کارت را «دو‌تکه» نشان می‌داد. سطح یک‌دست است و رنگ فقط جایی
   می‌آید که معنا دارد: نشانِ نقش، لینک، و نقطه‌ی فعال‌بودن. */
.pd-contact{position:relative}

/* ردیفِ بالا: آواتار سمتِ راست، هویت سمتِ چپ */
.sc-top{display:flex;align-items:flex-start;gap:13px}
.sc-av{flex:0 0 auto;width:74px;height:74px;border-radius:50%;display:grid;place-items:center; align-self: center;
  position:relative;font-size:32px;color:var(--gold);text-decoration:none;
  background:var(--panel);border:3px solid color-mix(in srgb,var(--gold) 40%,transparent);
  box-shadow:0 10px 26px -12px rgba(0,0,0,.5);transition:.18s}
.sc-av:hover{border-color:var(--gold)}
/* نقطه‌ی «تازه فعال» — فقط زیرِ آستانه‌ی ONLINE_MINUTES رندر می‌شود.
   ⚠️ left فیزیکی است نه inset-inline-start: در RTL دومی به لبه‌ی راست می‌افتد و
   نقطه پشتِ آواتار گم می‌شد. */
.sc-dot{position:absolute;left:1px;bottom:1px;width:16px;height:16px;border-radius:50%;
  background:#2ec27e;border:3px solid var(--panel);box-shadow:0 0 0 2px rgba(46,194,126,.22)}

/* ‏padding-top نام را با میانه‌ی آواتار هم‌تراز می‌کند */
.sc-id{flex:1;min-width:0;padding-top:10px}
.sc-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sc-name{font-size:19px;font-weight:800;color:var(--ink);text-decoration:none;line-height:1.5}
.sc-name:hover{color:var(--gold)}
.sc-meta{margin:6px 0 0;font-size:11px;line-height:1.9;color:var(--muted)}
.sc-sep{color:var(--faint);margin:0 3px}
/* نشانِ نقش زیرِ نام و آخرین‌ورود — نه کنارِ نام، که با نامِ بلندِ بنگاه
   به خطِ بعد می‌افتاد و ردیف را نامرتب می‌کرد */
.sc-role{margin-top:0}

/* «همه‌ی آگهی‌ها» — باکسِ کامل زیرِ نوارِ آمار، نه لینکِ لختِ کنارِ نام.
   ⚠️ همان قابِ .sc-stats را دارد تا دو بلوکِ پشتِ‌هم یک خانواده دیده شوند. */
.sc-all{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:11px 14px;border-radius:14px;font-size:12.5px;font-weight:700;
  color:var(--gold) !important;text-decoration:none;
  background:var(--panel);border:1px solid var(--brd-soft);transition:.16s}
.sc-all > span{display:inline-flex;align-items:center;gap:7px}
.sc-all i{font-size:14px}
.sc-all:hover{background:color-mix(in srgb,var(--gold) 10%,transparent);
  border-color:color-mix(in srgb,var(--gold) 35%,transparent)}

/* نوارِ آمار — قابِ یکپارچه با جداکننده. برچسب بالا، عدد پایین (مثلِ نمونه):
   چشم اول برچسب را می‌خواند و بعد عدد را، پس عددِ درشت بی‌عنوان نمی‌مانَد. */
.sc-stats{display:flex;margin:4px 0 2px;border-radius:16px;overflow:hidden;
  background:var(--panel);border:1px solid var(--brd-soft)}
.sc-stats > div{flex:1;min-width:0;padding:11px 4px 12px;text-align:center;
  border-inline-start:1px solid var(--brd-soft)}
.sc-stats > div:first-child{border-inline-start:0}
.sc-stats span{display:block;font-size:10.5px;line-height:1.6;color:var(--faint)}
.sc-stats b{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:4px;
  font-size:19px;font-weight:800;color:var(--ink);line-height:1.25}
.sc-stats b i{font-size:12px;color:var(--gold)}

/* ⚠️ `.sc-links` (ردیفِ آیکون‌های شبکه/وب‌سایت) حذف شد: این کارت باید یک کارِ
   روشن بخواهد و آن ردیف تصمیم را رقیق می‌کرد. راه‌های ارتباطی فقط در
   پروفایلِ کاربر می‌آیند (`.upx-socials` / `.upx-crows`). */

@media (max-width:420px){
  .sc-av{width:64px;height:64px;font-size:28px}
  .sc-id{padding-top:10px}
  .sc-name{font-size:17px}
  .sc-stats b{font-size:17px}
}
.pc-call,.pc-share{width:100%;justify-content:center}
.pc-call{direction:ltr}
/* جای شمارهٔ پنهان‌شده — توضیحِ صادقانه، نه جای خالی */
.pc-nophone{display:flex;align-items:flex-start;gap:7px;margin:0;padding:10px 12px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd-soft);font-size:11.5px;line-height:1.9;color:var(--muted)}
.pc-nophone i{margin-top:3px;flex:0 0 auto;color:var(--gold)}

/* ---------- نوارِ چسبانِ موبایل ---------- */
.pd-mbar{display:none;position:fixed;bottom:0;inset-inline:0;z-index:80;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  border-radius:18px 18px 0 0;border-bottom:none;
  align-items:center;justify-content:space-between;gap:12px}
.pd-mbar .pm-price{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.pd-mbar .pm-price>small{font-size:11px;color:var(--muted)}
.pd-mbar .btn{padding:11px 22px;white-space:nowrap}

/* ---------- ریسپانسیو ---------- */
@media(max-width:1000px){
  .pd{padding-bottom:96px} /* جا برای نوارِ پایینی */
  .pd-grid{grid-template-columns:1fr}
  .pd-side{position:static}
  .pd-mbar{display:flex}
}

/* ============================================================
   USER PROFILE (.up) — پروفایلِ عمومیِ کاربر (الگوی اینستاگرام)
   ============================================================ */
.up{padding:28px 0 70px}
.up-grid{margin-top:0}
/* کارتِ فروخته‌شده: عکس کمی محو + بَجِ طلایی */
.badge.sold{background:var(--gold);color:var(--gold-fg);border-color:transparent}
.prop.is-sold .ph{filter:saturate(.55);opacity:.9}
@media(max-width:640px){
  .up-head{flex-direction:column;text-align:center;gap:14px;padding:24px 18px}
  .up-name{justify-content:center}
  .up-stats{justify-content:center;gap:34px}
  .up-call{width:100%;justify-content:center}
}

/* ============================================================
   PROPERTIES INDEX (.pl) — لیستِ همه‌ی آگهی‌ها + نوارِ فیلتر
   ============================================================ */
.pl{padding:28px 0 70px}
.pl .s-head{margin-bottom:20px}
/* z-index بالا لازم است: backdrop-filterِ کارت‌ها stacking contextِ جدا می‌سازد و
   بدونِ این، منویِ بازِ فیلترها زیرِ کارت‌های آگهی نقاشی می‌شد */
.pl-bar{position:relative;z-index:50;display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:16px 18px;margin-bottom:26px;border-radius:var(--r)}
.pl-f{flex:1 1 170px;min-width:150px}
.pl-f label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:7px}
/* «حذف فیلترها»: چیپِ گلسِ هم‌قدِ فیلدها؛ هاور = قرمزِ ملایمِ اکشنِ حذف */
.pl-clear{display:inline-flex;align-items:center;gap:7px;height:47px;padding:0 18px;border-radius:13px;
  background:var(--panel);border:1px solid var(--brd);color:var(--muted);
  font-size:13px;font-weight:600;transition:.2s var(--ease)}
.pl-clear:hover{color:#e2554e;border-color:color-mix(in srgb,#e2554e 45%,var(--brd));
  background:color-mix(in srgb,#e2554e 6%,var(--panel))}
.pl-grid{margin-top:0;position:relative;z-index:1}
/* سلکتِ باز باید از سیبلینگ‌هایش (که هرکدام با backdrop-filter لایه‌ی جدا می‌سازند) بالاتر بیاید
   — بدونِ این، در موبایل (چیدمانِ ستونی) منوی باز زیرِ فیلدِ بعدی/کارت‌ها می‌رفت */
.pl-bar .gsel.open{z-index:70}
@media(max-width:640px){
  .pl-bar{padding:14px}
  .pl-f{flex:1 1 100%}
  .pl-clear{width:100%;justify-content:center}
}

/* «نمایش بیشتر» — بارگذاریِ تدریجیِ لیستِ آگهی‌ها */
.pl-more{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:30px}
.pl-prog{font-size:13px;color:var(--muted);font-weight:600}
.pl-more .btn{padding:13px 34px}
.pl-spin{display:inline-block;animation:pfSpin .8s linear infinite}

/* ---- منوهای ناوبری: آیتم‌های آیکون‌دار + لینکِ «همه‌ی …» ---- */
.nav-menu{min-width:240px}
.nav-menu.wide{min-width:620px}
.nav-menu a{display:flex;align-items:center;gap:10px}
.nav-menu a>i{color:var(--gold);font-size:17px;flex:0 0 auto}
/* «همه‌ی …»: چیپِ طلاییِ تمام‌عرض، بدونِ حاشیه */
.nav-menu a.all-link{grid-column:1/-1;justify-content:center;margin-top:6px;
  background:color-mix(in srgb,var(--gold) 10%,transparent);border:none;border-radius:11px;
  color:var(--gold);font-weight:700}
.nav-menu a.all-link:hover{background:color-mix(in srgb,var(--gold) 17%,transparent);color:var(--gold)}
.nav-dd>.ddt.active{color:var(--ink)}

/* ============================================================
   بلورِ سراسریِ سطوحِ شناور — هر چیزی که روی محتوای دیگر می‌نشیند
   باید backdrop-filter داشته باشد و کمی شفاف بماند تا حسِ گلس دیده شود.
   ============================================================ */
/* منوها کمی شفاف‌تر تا بلورِ 22px واقعاً دیده شود (خوانایی با بلور حفظ می‌شود) */
html[data-theme="dark"]{--menu-bg:rgba(20,28,24,.88)}
html[data-theme="light"]{--menu-bg:rgba(255,255,255,.86)}
html[data-theme="dark"] .nav-menu{background:var(--menu-bg)}
@media(max-width:760px){
  html[data-theme="dark"] .nav-in .links{background:var(--menu-bg)}
}

/* دراپ‌داونِ باز همیشه بالاتر از سیبلینگ‌های بلوردار (stacking context) — سراسری */
.gsel.open,.pf-dd.open,.pf-dl.open{z-index:70}

/* دیت‌پیکرِ فارسی (تاریخ تخلیه): سطحِ شناورِ vendor → گلس
   پس‌زمینه‌ی روشنِ نیمه‌مات در هر دو تم، چون متنِ داخلی‌اش تیره است */
.datepicker-plot-area{
  background:rgba(255,255,255,.88)!important;
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd)!important;border-radius:16px!important;
  box-shadow:0 24px 60px -24px rgba(0,0,0,.5)!important;
  font-family:'iranyekan',sans-serif!important;overflow:hidden}

/* ============================================================
   NEWSLETTER (.nl) — خبرنامه‌ی پیامکی: مودالِ OTP + مودالِ ترجیحات
   ============================================================ */
.nl-dialog{width:460px}
.nl-sub{color:var(--muted);font-size:13.5px;margin-bottom:16px;line-height:1.9}
.nl-sub b{color:var(--ink)}
.nl-otp-row{margin:4px 0 14px}
.nl-err{display:none;color:#e2554e;font-size:13px;margin-bottom:12px}
/* مودالِ خبرنامه همان `.otp-acts` را می‌برد (قاعده‌ی `.nl-timer` برداشته
   شد) — دو ظاهرِ متفاوت برای یک کار، همان واگراییِ همیشگی را می‌ساخت. */
#nlActs{margin-top:14px}

/* سوییچ‌های نوعِ ملک */
.nl-cats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}
.nl-tg{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;
  background:var(--panel);border:1px solid var(--brd);border-radius:13px;padding:11px 13px;
  transition:.2s var(--ease)}
.nl-tg:hover{border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.nl-tg input{position:absolute;opacity:0;width:0;height:0}
.nl-tg-name{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink)}
.nl-tg-name i{color:var(--gold);font-size:15px}
.nl-tg-sw{position:relative;flex:0 0 auto;width:40px;height:22px;border-radius:99px;
  background:var(--panel-2);border:1px solid var(--brd);transition:.25s var(--ease)}
.nl-tg-sw::before{content:"";position:absolute;top:2px;inset-inline-end:2px;width:16px;height:16px;
  border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.25s var(--ease)}
.nl-tg:has(input:checked){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--panel))}
.nl-tg:has(input:checked) .nl-tg-sw{background:var(--gold);border-color:var(--gold)}
/* حرکتِ thumb با جابجاییِ anchor (نه transform) تا در RTL از کادر بیرون نزند — الگوی سوییچ‌های فرمِ ملک */
.nl-tg:has(input:checked) .nl-tg-sw::before{inset-inline-end:calc(100% - 18px)}

/* اسلایدرِ دوبلِ بازه‌ی قیمت */
.nl-price-title{margin-bottom:8px}
.nl-price-label{text-align:center;font-size:14px;font-weight:700;color:var(--gold);margin-bottom:10px}
.nl-range{position:relative;height:36px;direction:ltr;margin-bottom:18px}
.nl-track{position:absolute;top:50%;left:2px;right:2px;transform:translateY(-50%);height:6px;
  border-radius:99px;background:var(--panel-2);border:1px solid var(--brd-soft)}
.nl-fill{position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:99px;background:var(--gold)}
.nl-range input[type=range]{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  width:100%;height:0;margin:0;-webkit-appearance:none;appearance:none;background:none;pointer-events:none;outline:none}
.nl-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;
  width:22px;height:22px;border-radius:50%;background:var(--gold);border:none;cursor:grab;
  box-shadow:0 2px 8px rgba(0,0,0,.35),0 0 0 3px color-mix(in srgb,var(--gold) 20%,transparent)}
.nl-range input[type=range]::-moz-range-thumb{pointer-events:auto;width:22px;height:22px;border-radius:50%;
  background:var(--gold);border:none;cursor:grab;box-shadow:0 2px 8px rgba(0,0,0,.35)}

/* حالتِ موفقِ فرمِ اصلی */
.nl-done{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  padding:14px 18px;color:var(--gold);font-weight:700;font-size:14.5px}
.nl-done i{font-size:19px}
@media(max-width:520px){.nl-cats{grid-template-columns:1fr}}

/* ============================================================
   اسپینرِ سراسریِ حالتِ لودینگ — قانونِ پروژه: هرجا تاخیر هست،
   به‌جای سه‌نقطه یک انیمیشنِ در حالِ انجام نمایش داده شود.
   ============================================================ */
.btn-spin{display:inline-block;width:15px;height:15px;flex:0 0 auto;vertical-align:-2px;
  border:2px solid currentColor;border-inline-start-color:transparent;border-radius:50%;
  animation:pfSpin .7s linear infinite}

/* ============================================================
   محوِ واقعیِ پشتِ منوها — رفعِ باگِ backdrop-filterِ تودرتو:
   والدِ بلوردار «backdrop root» می‌سازد و بلورِ منوی داخلش دیگر
   محتوای صفحه را نمی‌بیند. راه‌حل: بلورِ کانتینرها به ::before
   منتقل می‌شود تا منوها آزاد شوند.
   ============================================================ */

/* هدر: بلور/بک‌گراند → لایه‌ی ::before (ظاهرِ يکسان، بدونِ root) */
.site-nav .nav-in{position:relative;z-index:0;background:none;
  -webkit-backdrop-filter:none;backdrop-filter:none}
.site-nav .nav-in::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:30px;
  background:linear-gradient(120deg,rgba(255,255,255,.08),rgba(255,255,255,.02)), var(--nav-base);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}

/* نوارِ فیلترِ لیستِ آگهی‌ها */
.pl-bar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.pl-bar::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--panel);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}

/* فیلدِ سلکتِ گلس (خودش والدِ منوی بازشونده است) */
.gsel{z-index:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.gsel::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--panel);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}

/* فرمِ ملک: کارت و پوسته نباید root بسازند (منوهای pf-dd داخلشان‌اند) */
.dash .dashboard-section{-webkit-backdrop-filter:none;backdrop-filter:none}
.form-modern{position:relative;z-index:0;background:transparent!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.form-modern::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}

/* خودِ منوها: بلورِ قوی‌تر تا محتوای پشت کاملاً محو شود */
.nav-menu,.gsel-list,.pf-dd-menu{
  -webkit-backdrop-filter:saturate(160%) blur(30px);backdrop-filter:saturate(160%) blur(30px)}

/* ============================================================
   HERO SEARCH (.searchbar فعال) — تایپ‌اِهدِ شهر + دراپ‌داون‌های گلس
   ============================================================ */
/* بلورِ سرچ‌بار به ::before (تا منوهای داخلش بتوانند صفحه را محو کنند) */
.searchbar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.searchbar::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--panel);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}

.searchbar .s-field{position:relative;cursor:pointer}
.searchbar .s-field.open{z-index:70}
.searchbar .s-field .v{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--ink)}
.searchbar .s-field .v>i:first-child{color:var(--gold);flex:0 0 auto}
.sb-val{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-val.ph{color:var(--faint);font-weight:600}
.sb-caret{font-size:12px;color:var(--muted);flex:0 0 auto;transition:transform .22s var(--ease)}
.s-field.open .sb-caret{transform:rotate(180deg)}

/* اینپوتِ شهر */
.sb-loc input{flex:1;min-width:0;border:none;outline:none;background:transparent;
  font-family:inherit;font-size:15px;font-weight:700;color:var(--ink)}
.sb-loc input::placeholder{color:var(--faint);font-weight:600}
.sb-clear{display:none;flex:0 0 auto;width:22px;height:22px;border:none;border-radius:50%;
  background:var(--panel-2);color:var(--muted);font-size:15px;line-height:1;cursor:pointer}
.sb-clear.show{display:grid;place-items:center}
.sb-clear:hover{color:#e2554e}

/* منوی بازشونده — هم‌خانواده‌ی منوهای سایت (بلورِ قوی) */
.sb-menu{position:absolute;top:calc(100% + 10px);inset-inline:0;z-index:80;display:none;
  background:var(--menu-bg);border:1px solid var(--brd);border-radius:14px;padding:6px;
  -webkit-backdrop-filter:saturate(160%) blur(30px);backdrop-filter:saturate(160%) blur(30px);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.5);max-height:260px;overflow:auto;
  scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
.s-field.open .sb-menu{display:block;animation:pfDdIn .16s var(--ease)}
.sb-menu::-webkit-scrollbar{width:10px}
.sb-menu::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:99px;
  border:3px solid transparent;background-clip:padding-box}
.sb-menu::-webkit-scrollbar-button{display:none !important}
.sb-opt{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:10px;
  font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s}
.sb-opt:hover{background:var(--panel);color:var(--gold)}
.sb-opt.sel{color:var(--gold);font-weight:700}
.sb-opt i{color:var(--gold);font-size:14px;flex:0 0 auto}
.sb-city small{margin-inline-start:auto;color:var(--muted);font-size:11.5px;font-weight:500}
.sb-empty{display:flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 12px;color:var(--muted);font-size:13px}

/* منوی نوعِ ملکِ سرچ‌بار: هدرهای گروهی + زیرمجموعه‌ها */
.sb-menu-tall{max-height:340px}
.sb-group{display:flex;align-items:center;gap:7px;padding:10px 13px 5px;
  font-size:11.5px;font-weight:700;color:var(--gold);letter-spacing:.4px;
  border-top:1px solid var(--brd-soft);margin-top:4px}
.sb-group:first-of-type{border-top:none;margin-top:0}
.sb-group i{font-size:13px}
.sb-opt.sb-sub{padding-inline-start:26px;font-weight:500}

/* ============================================================
   قانونِ سراسری: autofill کروم نباید کادرِ سفید/آبیِ وصله‌ای
   داخل فیلدها بسازد — پس‌زمینه‌ی خودِ فیلد حفظ می‌شود.
   (ترفندِ transition طولانی: کروم فرصتِ رنگ‌کردن پیدا نمی‌کند)
   ============================================================ */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill{
  -webkit-text-fill-color:var(--ink);
  caret-color:var(--ink);
  transition:background-color 9999999s ease-in-out 0s,color 9999999s ease-in-out 0s}

/* ============================================================
   INQUIRIES (درخواست‌ها) — دکمه‌های صفحه‌ی جزئیات + مودال + داشبورد
   ============================================================ */
/* دکمه‌های «درخواست بازدید / ارسال پیام» در کارتِ تماس */
.pc-req{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pc-req .btn{justify-content:center;padding:12px 8px;font-size:13.5px}
@media(max-width:400px){.pc-req{grid-template-columns:1fr}}

/* چیپ‌های نوعِ درخواست در مودال */
.inq-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:0 0 8px}
.inq-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.inq-chip{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--brd);
  border-radius:99px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);
  cursor:pointer;transition:.2s var(--ease)}
.inq-chip i{color:var(--gold);font-size:14px}
.inq-chip:hover{border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}
.inq-chip.on{background:color-mix(in srgb,var(--gold) 12%,var(--panel));border-color:var(--gold);color:var(--gold)}
.inq-chip.on i{color:var(--gold)}
.inq-msg{width:100%;background:var(--panel);border:1px solid var(--brd);border-radius:14px;padding:12px 15px;
  font-family:inherit;font-size:14px;color:var(--ink);outline:none;resize:vertical;min-height:80px;transition:.2s}
.inq-msg:focus{border-color:var(--gold)}
.inq-msg::placeholder{color:var(--faint)}
.inq-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:20px 10px}
.inq-done i{font-size:44px;color:#2ec27e}
.inq-done b{font-size:16px;color:var(--ink)}
.inq-done span{font-size:13.5px;color:var(--muted);line-height:1.9}

/* بَجِ سایدبار */
.dash-side a{position:relative}
[data-badge-count][hidden],[data-support-work-count][hidden],[data-read-all][hidden],[data-clear-read][hidden],[data-read-status][hidden]{display:none!important}
[data-read-status]{font-size:13px;color:var(--muted);padding:8px 12px}
.side-badge{margin-inline-start:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;
  background:var(--gold);color:var(--gold-fg);font-size:11px;font-weight:700;display:inline-grid;place-items:center}

/* تب‌های داشبوردِ درخواست‌ها */
.req-tabs{display:flex;gap:8px;margin-bottom:18px}
.req-tab{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:13px;
  background:var(--panel);border:1px solid var(--brd);color:var(--muted);font-weight:600;font-size:14px;
  transition:.2s var(--ease);position:relative}
.req-tab i{font-size:15px}
.req-tab:hover{color:var(--ink)}
.req-tab.on{background:var(--panel-2);border-color:color-mix(in srgb,var(--gold) 45%,var(--brd));color:var(--gold)}
.req-count{background:var(--panel-2);border:1px solid var(--brd-soft);border-radius:99px;padding:1px 8px;font-size:11.5px;font-weight:700}
.req-tab.on .req-count{background:color-mix(in srgb,var(--gold) 15%,transparent);border-color:transparent}
.req-dot{position:absolute;top:-6px;inset-inline-start:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;
  background:#e2554e;color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}

/* کارتِ درخواست */
.req-card{display:flex;gap:14px;padding:16px;border-radius:var(--r);margin-bottom:12px;transition:.2s var(--ease)}
.req-card.unread{border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}
.req-card.unread::before{content:"";width:4px;border-radius:99px;background:var(--gold);flex:0 0 auto}
.req-prop{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;width:120px;min-width:0}
/* ارتفاع از نسبتِ ۴:۵ می‌آید (قابِ مبنا)، پس فقط عرض تعیین می‌شود */
.req-thumb{width:104px;border-radius:12px;background-color:var(--panel);
  display:grid;place-items:center;color:var(--faint);font-size:22px;border:1px solid var(--brd-soft)}
.req-thumb-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.req-prop-tx{display:flex;flex-direction:column;gap:3px;line-height:1.5}
.req-prop-tx b{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.req-prop-tx small{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px}
.req-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.req-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.req-type{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink)}
.req-type i{color:var(--gold)}
.req-time{font-size:12px;color:var(--muted)}
.req-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px}
.req-badge.new{background:#e2554e;color:#fff}
.req-badge.done{background:color-mix(in srgb,#2ec27e 15%,transparent);color:#2ec27e}
.req-msg{font-size:13.5px;color:var(--muted);line-height:1.9;margin:0;
  background:var(--panel);border:1px solid var(--brd-soft);border-radius:12px;padding:10px 13px}
.req-foot{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:2px}
.req-from{font-size:13px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px;margin-inline-end:auto}
.req-from i{color:var(--gold)}
.req-status{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;margin-inline-end:auto}
.req-foot .btn-sm-glass{width:auto;padding:8px 14px;height:auto}
.req-resolve.is-done{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
@media(max-width:560px){
  .req-card{flex-direction:column}
  .req-prop{flex-direction:row;width:auto;align-items:center}
  .req-thumb{width:68px}
  .req-prop-tx b{white-space:normal}
}

/* ============================================================
   بَجِ نوتیفیکیشن — آیکونِ کاربر/زنگ در هدر + منوی کاربر
   ============================================================ */
.nav-badge{position:absolute;top:-6px;inset-inline-start:-6px;z-index:3;
  min-width:19px;height:19px;padding:0 5px;border-radius:99px;
  background:#e2554e;color:#fff;font-size:10.5px;font-weight:700;
  display:grid;place-items:center;line-height:1;
  border:2px solid var(--bg);box-shadow:0 2px 8px rgba(226,85,78,.5)}
/* روی آیکونِ کاربر که نقطه‌ی آنلاین دارد، بَج سمتِ مقابل بنشیند */
.icon-btn.user-in .nav-badge{inset-inline-start:-6px;top:-6px}
/* بَجِ آیتم‌های منوی کاربر */
.nav-menu a .menu-badge{margin-inline-start:auto;min-width:19px;height:19px;padding:0 6px;border-radius:99px;
  background:#e2554e;color:#fff;font-size:10.5px;font-weight:700;display:inline-grid;place-items:center}
.nav-menu a:has(.menu-badge){display:flex;align-items:center;gap:8px}
/* بَجِ سایدبار روی آیتمِ غیرفعال هم دیده شود */
.dash-side a.disabled{position:relative}
.dash-side a.disabled .side-badge{opacity:1}

/* ============================================================
   NOTIFICATIONS (اعلان‌ها) — صفحه‌ی داشبورد + دراپ‌داونِ زنگ
   ============================================================ */
.nt-head-acts{display:flex;gap:8px;align-items:center}
.nt-head-acts .btn-sm-glass{width:auto;padding:9px 14px;height:auto}

/* فیلترها */
.nt-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.nt-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:99px;
  background:var(--panel);border:1px solid var(--brd);color:var(--muted);
  font-size:13px;font-weight:600;transition:.2s var(--ease)}
.nt-chip i{font-size:14px;color:var(--gold)}
.nt-chip:hover{color:var(--ink);border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.nt-chip.on{background:color-mix(in srgb,var(--gold) 12%,var(--panel));border-color:var(--gold);color:var(--gold)}
.nt-c{background:var(--panel-2);border-radius:99px;padding:1px 7px;font-size:11px;font-weight:700}
.nt-c.hot{background:#e2554e;color:#fff}
.nt-chip.on .nt-c{background:color-mix(in srgb,var(--gold) 20%,transparent)}

/* کارتِ اعلان */
.nt-card{display:flex;gap:13px;padding:15px 16px;border-radius:var(--r);margin-bottom:10px;transition:.2s var(--ease)}
.nt-card.unread{border-color:color-mix(in srgb,var(--gold) 45%,var(--brd));
  background:color-mix(in srgb,var(--gold) 5%,var(--panel-2))}
.nt-ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  font-size:19px;color:var(--gold);background:var(--panel);border:1px solid var(--brd-soft)}
.nt-card.unread .nt-ic{background:color-mix(in srgb,var(--gold) 14%,transparent);border-color:transparent}
.nt-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.nt-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.nt-title{font-size:14.5px;color:var(--ink)}
.nt-type{font-size:11px;font-weight:600;color:var(--muted);background:var(--panel);
  border:1px solid var(--brd-soft);border-radius:99px;padding:2px 9px}
.nt-time{font-size:11.5px;color:var(--muted);margin-inline-start:auto}
.nt-new{font-size:10.5px;font-weight:700;background:#e2554e;color:#fff;border-radius:99px;padding:2px 8px}
.nt-msg{font-size:13.5px;color:var(--muted);line-height:1.9;margin:0}
.nt-foot{display:flex;align-items:center;gap:8px;margin-top:3px}
.nt-foot .btn-sm-glass{width:auto;padding:7px 13px;height:auto}
.nt-foot form{display:contents}

/* دراپ‌داونِ زنگ در هدر */
.bell-menu{min-width:330px;padding:8px}
.bell-list{max-height:300px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
.bell-list::-webkit-scrollbar{width:9px}
.bell-list::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:99px;
  border:3px solid transparent;background-clip:padding-box}
.bell-list::-webkit-scrollbar-button{display:none !important}
.bell-item{display:flex!important;align-items:flex-start;gap:10px;padding:10px 11px;border-radius:11px;transition:.15s}
.bell-item:hover{background:var(--panel)}
.bell-item.unread{background:color-mix(in srgb,var(--gold) 8%,transparent);margin: 5px}
.bell-item>i{color:var(--gold);font-size:15px;margin-top:3px;flex:0 0 auto}
.bell-tx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.bell-tx b{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.bell-tx small{font-size:11.5px;color:var(--muted);line-height:1.6}
.bell-ago{font-size:10.5px;color:var(--faint);flex:0 0 auto;white-space:nowrap}
.bell-empty{display:flex;align-items:center;justify-content:center;gap:8px;
  padding:22px 12px;color:var(--muted);font-size:13px}
@media(max-width:560px){
  .bell-menu{min-width:0;width:min(92vw,330px)}
  .nt-time{margin-inline-start:0}
}

/* ============================================================
   SETTINGS (تنظیماتِ حساب) — ناوبریِ بخش‌ها + فرم‌ها + منطقه‌ی خطر
   ============================================================ */
.st-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.st-navbtn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:99px;
  background:var(--panel);border:1px solid var(--brd);color:var(--muted);
  font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.2s var(--ease)}
.st-navbtn i{font-size:15px;color:var(--gold)}
.st-navbtn:hover{color:var(--ink);border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.st-navbtn.on{background:color-mix(in srgb,var(--gold) 12%,var(--panel));border-color:var(--gold);color:var(--gold)}

/* پنل‌ها */
.st-pane{display:none;padding:24px 26px;border-radius:var(--r);margin-bottom:14px}
.st-pane.on{display:block;animation:pfDdIn .2s var(--ease)}
.st-h{display:flex;align-items:center;gap:9px;font-size:15.5px;font-weight:700;margin-bottom:6px;color:var(--ink)}
.st-h i{color:var(--gold);font-size:17px}
.st-h.sm{font-size:14px;margin-top:22px}
.st-h.danger,.st-h.danger i{color:#e2554e}
.st-note{font-size:12.5px;color:var(--muted);line-height:1.9;margin-bottom:18px;display:flex;align-items:center;gap:6px}

/* فرم */
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.st-grid{grid-template-columns:1fr}}
.st-f{margin-bottom:16px}
.st-f-narrow{max-width:340px}
.st-f label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}
.st-f .req{color:var(--gold)}
.st-pane .fld{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--brd);
  border-radius:14px;padding:12px 15px;transition:.2s}
.st-pane .fld:focus-within{border-color:var(--gold)}
.st-pane .fld i{color:var(--gold);font-size:16px;flex:0 0 auto}
.st-pane .fld input{flex:1;min-width:0;border:none;outline:none;background:transparent;
  font-family:inherit;font-size:14.5px;color:var(--ink)}
.st-err{display:block;color:#e2554e;font-size:12px;margin-top:6px}

/* انتخابِ نقش */
.st-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.st-role input{position:absolute;opacity:0;width:0;height:0}
.st-role-in{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 12px;border-radius:14px;
  background:var(--panel);border:1px solid var(--brd);color:var(--ink);
  font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s var(--ease)}
.st-role-in i{color:var(--gold);font-size:16px}
.st-role:hover .st-role-in{border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.st-role input:checked + .st-role-in{background:color-mix(in srgb,var(--gold) 11%,var(--panel));
  border-color:var(--gold);color:var(--gold)}
.st-sub{margin-top:6px;padding-top:6px}
.st-sub-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:16px 0 10px}

/* سوییچ‌های تنظیمات */
.st-toggles{display:flex;flex-direction:column;gap:10px}
.st-tg{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;
  background:var(--panel);border:1px solid var(--brd);border-radius:14px;padding:13px 16px;transition:.2s var(--ease)}
.st-tg:hover{border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.st-tg input{position:absolute;opacity:0;width:0;height:0}
.st-tg-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.st-tg-tx b{font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:8px}
.st-tg-tx b i{color:var(--gold);font-size:15px}
.st-tg-tx small{font-size:11.5px;color:var(--muted);line-height:1.7}
.st-tg-sw{position:relative;flex:0 0 auto;width:44px;height:24px;border-radius:99px;
  background:var(--panel-2);border:1px solid var(--brd);transition:.25s var(--ease)}
.st-tg-sw::before{content:"";position:absolute;top:2px;inset-inline-end:2px;width:18px;height:18px;
  border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.25s var(--ease)}
.st-tg:has(input:checked){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--panel))}
.st-tg:has(input:checked) .st-tg-sw{background:var(--gold);border-color:var(--gold)}
.st-tg:has(input:checked) .st-tg-sw::before{inset-inline-end:calc(100% - 20px)}
.st-tg-main{margin-bottom:6px}
.st-cats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}

/* اطلاعاتِ حساب */
.st-info{display:flex;flex-direction:column;gap:0;margin-bottom:14px}
.st-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 2px;border-bottom:1px solid var(--brd-soft)}
.st-k{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:600}
.st-k i{color:var(--gold)}
.st-v{font-size:13.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}
.st-verified{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#2ec27e;
  background:color-mix(in srgb,#2ec27e 12%,transparent);border-radius:99px;padding:3px 9px}

/* منطقه‌ی خطر */
.st-danger{margin-top:24px;padding:18px 20px;border-radius:16px;
  background:color-mix(in srgb,#e2554e 6%,transparent);
  border:1px solid color-mix(in srgb,#e2554e 25%,transparent)}
.st-danger .st-h{margin-top:0}
.btn-danger-glass{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:14px;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;
  background:color-mix(in srgb,#e2554e 12%,transparent);border:1px solid color-mix(in srgb,#e2554e 40%,transparent);
  color:#e2554e;transition:.2s var(--ease)}
.btn-danger-glass:hover{background:#e2554e;color:#fff;border-color:transparent}

/* ============================================================
   HERO ANIMATION (.ha) — سه پرده: پیدا کن ← مقایسه کن ← معامله کن
   SVG اینلاین است تا توکن‌های تم را به ارث ببرد (در هر دو تم زنده).
   چرخه: ۱۸ ثانیه، هر پرده ۶ ثانیه.
   ============================================================ */
.ha{position:relative;width:100%;max-width:460px;margin:0 auto}
.ha-svg{width:100%;height:auto;display:block;overflow:visible;
  animation:haFloat 7s ease-in-out infinite}
@keyframes haFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* سکو و چهارخانه */
.ha-stage{fill:var(--panel);stroke:var(--brd);stroke-width:1.5;
  filter:drop-shadow(0 26px 50px rgba(6,52,64,.22))}
.ha-grid path{stroke:var(--brd-soft);stroke-width:1;fill:none}

/* قلم‌ها — همه از توکنِ تم */
.ha-ln{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ha-ln.ha-soft{stroke:var(--muted);stroke-width:2;opacity:.75}
.ha-panel{fill:var(--panel-2)}
.ha-gold{fill:none;stroke:var(--gold);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.ha-gfill{fill:var(--gold)}
.ha-check{fill:none;stroke:var(--gold-fg);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ha-win{stroke:var(--gold);stroke-width:2.6}

/* ---------- پرده‌ها: ظهور/محو ---------- */
.ha-sc{opacity:0;transform-origin:160px 160px;animation:haScene 18s var(--ease) infinite}
.ha-s2{animation-delay:6s}
.ha-s3{animation-delay:12s}
@keyframes haScene{
  0%{opacity:0;transform:scale(.93) translateY(10px)}
  5%{opacity:1;transform:scale(1) translateY(0)}
  30%{opacity:1;transform:scale(1) translateY(0)}
  35%{opacity:0;transform:scale(1.05) translateY(-8px)}
  100%{opacity:0;transform:scale(.93) translateY(10px)}
}

/* ---------- کشیده‌شدنِ خطوط (draw-on) ---------- */
.ha-sc .ha-ln,.ha-sc .ha-gold{stroke-dasharray:560;stroke-dashoffset:560;
  animation:haDraw 18s var(--ease) infinite}
.ha-s2 .ha-ln,.ha-s2 .ha-gold{animation-delay:6s}
.ha-s3 .ha-ln,.ha-s3 .ha-gold{animation-delay:12s}
@keyframes haDraw{
  0%{stroke-dashoffset:560}
  11%{stroke-dashoffset:0}
  32%{stroke-dashoffset:0}
  35%{stroke-dashoffset:560}
  100%{stroke-dashoffset:560}
}
/* پُرشدنِ سطوح بعد از کشیده‌شدنِ خط */
.ha-panel,.ha-gfill{animation:haFill 18s var(--ease) infinite}
.ha-s2 .ha-panel,.ha-s2 .ha-gfill{animation-delay:6s}
.ha-s3 .ha-panel,.ha-s3 .ha-gfill{animation-delay:12s}
@keyframes haFill{0%,6%{fill-opacity:0}13%,32%{fill-opacity:1}35%,100%{fill-opacity:0}}

/* ---------- پرده ۱: ذره‌بین و پین ---------- */
.ha-lens{animation:haLens 18s var(--ease) infinite;transform-box:fill-box}
@keyframes haLens{
  0%,8%{transform:translate(96px,214px);opacity:0}
  12%{opacity:1}
  20%{transform:translate(156px,190px)}
  27%{transform:translate(226px,224px);opacity:1}
  32%{transform:translate(226px,224px);opacity:0}
  100%{opacity:0}
}
.ha-pin{animation:haPin 18s cubic-bezier(.34,1.56,.64,1) infinite;transform-origin:156px 136px}
@keyframes haPin{
  0%,14%{opacity:0;transform:translateY(-26px) scale(.6)}
  19%{opacity:1;transform:translateY(0) scale(1)}
  30%{opacity:1;transform:translateY(0) scale(1)}
  34%,100%{opacity:0;transform:translateY(-14px) scale(.8)}
}
.ha-pin-p{stroke-dasharray:none!important;stroke-dashoffset:0!important;animation:none!important}

/* ---------- پرده ۲: کارت‌ها و نشان ---------- */
.ha-card-a{animation:haCardA 18s var(--ease) infinite;transform-origin:97px 169px}
.ha-card-b{animation:haCardB 18s var(--ease) infinite;transform-origin:223px 164px}
@keyframes haCardA{
  0%,38%{transform:translateX(-14px);opacity:0}
  44%,63%{transform:translateX(0);opacity:.9}
  68%,100%{transform:translateX(-10px);opacity:0}
}
@keyframes haCardB{
  0%,38%{transform:translateX(14px) scale(.96);opacity:0}
  44%{transform:translateX(0) scale(1);opacity:1}
  52%{transform:translateX(0) scale(1.04)}
  63%{transform:translateX(0) scale(1)}
  68%,100%{transform:translateX(10px);opacity:0}
}
.ha-badge{animation:haPop 18s cubic-bezier(.34,1.56,.64,1) infinite;transform-origin:270px 94px}
@keyframes haPop{
  0%,50%{opacity:0;transform:scale(0)}
  56%,63%{opacity:1;transform:scale(1)}
  68%,100%{opacity:0;transform:scale(.6)}
}
.ha-bar{animation:haBar 18s var(--ease) infinite;transform-origin:188px 258px}
@keyframes haBar{0%,46%{transform:scaleX(0)}56%,63%{transform:scaleX(1)}68%,100%{transform:scaleX(0)}}

/* ---------- پرده ۳: امضا و مُهر ---------- */
.ha-sign{stroke-dasharray:190!important;stroke-dashoffset:190!important;
  animation:haSign 18s ease-out infinite!important;animation-delay:12s!important}
@keyframes haSign{0%,78%{stroke-dashoffset:190}88%,96%{stroke-dashoffset:0}99%,100%{stroke-dashoffset:190}}
.ha-seal{animation:haSeal 18s cubic-bezier(.34,1.56,.64,1) infinite;transform-origin:216px 216px}
@keyframes haSeal{
  0%,88%{opacity:0;transform:scale(1.7) rotate(-14deg)}
  93%,97%{opacity:1;transform:scale(1) rotate(0)}
  100%{opacity:0;transform:scale(1.7) rotate(-14deg)}
}

/* ---------- شمارنده‌ی پرده‌ها ---------- */
.ha-dot{fill:var(--muted);opacity:.35;animation:haDot 18s var(--ease) infinite}
.ha-d2{animation-delay:6s}
.ha-d3{animation-delay:12s}
@keyframes haDot{
  0%,33%{opacity:.35;width:8px;fill:var(--muted)}
  4%,30%{opacity:1;width:20px;fill:var(--gold)}
  34%,100%{opacity:.35;width:8px;fill:var(--muted)}
}

/* دسترسی‌پذیری: احترام به کاهشِ حرکت — پرده‌ی اول ثابت می‌ماند */
@media (prefers-reduced-motion:reduce){
  .ha-svg,.ha-sc,.ha-lens,.ha-pin,.ha-card-a,.ha-card-b,.ha-badge,
  .ha-bar,.ha-sign,.ha-seal,.ha-dot,.ha-panel,.ha-gfill{animation:none!important}
  .ha-sc{opacity:0}
  .ha-s1{opacity:1}
  .ha-s1 .ha-ln,.ha-s1 .ha-gold{stroke-dashoffset:0!important}
  .ha-lens{transform:translate(226px,224px);opacity:1}
  .ha-pin{opacity:1}
  .ha-panel,.ha-gfill{fill-opacity:1}
  .ha-d1{opacity:1;fill:var(--gold)}
}

/* ============================================================
   LEGAL ART (.la) — ترازوی عدالت + سند + مُهر (اینلاین، theme-aware)
   ============================================================ */
.la-svg{width:100%;max-width:380px;height:auto;display:block;overflow:visible;
  animation:laFloat 8s ease-in-out infinite}
@keyframes laFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* هاله‌ی محیطیِ نرم (تزئینی — هم‌زبان با .amb) */
.la-halo{fill:color-mix(in srgb,var(--gold) 9%,transparent);
  animation:laHalo 6s ease-in-out infinite;transform-origin:160px 152px}
@keyframes laHalo{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.06);opacity:1}}

/* قلم‌ها — همه از توکنِ تم */
.la-ln{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.la-ln.la-soft{stroke:var(--muted);stroke-width:2;opacity:.7}
.la-panel{fill:var(--panel-2)}
.la-gold{fill:none;stroke:var(--gold);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.la-gfill{fill:var(--gold)}
.la-check{fill:none;stroke:var(--gold-fg);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.la-seal-ring{fill:none;stroke:var(--gold);stroke-width:1.6;opacity:.45}

/* سندِ پس‌زمینه: کمی کج و شناور */
.la-doc-back{transform:rotate(-5deg);transform-origin:134px 150px;
  animation:laDoc 8s ease-in-out infinite}
@keyframes laDoc{
  0%,100%{transform:rotate(-5deg) translateY(0)}
  50%{transform:rotate(-3.5deg) translateY(-5px)}
}

/* ترازو: تیرک آرام تاب می‌خورد تا به تعادل برسد */
.la-beam{transform-origin:212px 96px;animation:laBeam 7s ease-in-out infinite}
@keyframes laBeam{
  0%{transform:rotate(0deg)}
  18%{transform:rotate(6deg)}
  40%{transform:rotate(-4deg)}
  62%{transform:rotate(2deg)}
  82%,100%{transform:rotate(0deg)}
}
/* کفه‌ها همیشه عمودی می‌مانند (ضدِ چرخشِ تیرک) */
.la-pan-r{transform-origin:264px 96px;animation:laPanR 7s ease-in-out infinite}
.la-pan-l{transform-origin:160px 96px;animation:laPanL 7s ease-in-out infinite}
@keyframes laPanR{
  0%{transform:rotate(0)}18%{transform:rotate(-6deg)}40%{transform:rotate(4deg)}
  62%{transform:rotate(-2deg)}82%,100%{transform:rotate(0)}
}
@keyframes laPanL{
  0%{transform:rotate(0)}18%{transform:rotate(-6deg)}40%{transform:rotate(4deg)}
  62%{transform:rotate(-2deg)}82%,100%{transform:rotate(0)}
}

/* مُهر: هر چرخه یک‌بار با ضربه فرود می‌آید */
.la-seal{transform-origin:118px 212px;animation:laSeal 8s cubic-bezier(.34,1.56,.64,1) infinite}
@keyframes laSeal{
  0%,52%{opacity:0;transform:scale(1.9) rotate(-16deg)}
  60%{opacity:1;transform:scale(.92) rotate(2deg)}
  66%{transform:scale(1) rotate(0)}
  94%{opacity:1;transform:scale(1) rotate(0)}
  100%{opacity:0;transform:scale(1.9) rotate(-16deg)}
}

/* امضا: نوشته می‌شود */
.la-sign{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:180;stroke-dashoffset:180;animation:laSign 8s ease-out infinite}
@keyframes laSign{0%,22%{stroke-dashoffset:180}42%,92%{stroke-dashoffset:0}100%{stroke-dashoffset:180}}

/* دسترسی‌پذیری: بدونِ حرکت، اثر کاملِ ثابت */
@media (prefers-reduced-motion:reduce){
  .la-svg,.la-halo,.la-doc-back,.la-beam,.la-pan-r,.la-pan-l,.la-seal,.la-sign{animation:none!important}
  .la-seal{opacity:1;transform:none}
  .la-sign{stroke-dashoffset:0}
}
@media(max-width:1024px){.la-svg{max-width:300px}}

/* پرده ۳: خطوطِ متنِ سند پیاپی «نوشته» می‌شوند (RTL: از راست به چپ)
   طولِ dash دقیقاً برابرِ طولِ هر خط تا حرکت طبیعی باشد؛ delayها روی چرخه‌ی ۱۸ ثانیه‌ای
   بعد از ظاهرشدنِ پرده (۱۲s) تنظیم شده‌اند. */
/* نکته: stroke-dashoffset نباید !important بگیرد — طبق مشخصاتِ CSS، اعلانِ !important
   بر انیمیشن غلبه می‌کند و خط‌ها برای همیشه بیرونِ دید قفل می‌شوند. */
.ha-s3 .ha-tx{animation:haType 18s ease-out infinite!important}
/* pathها از راست شروع می‌شوند (h منفی)، پس offsetِ مثبت = نوشتنِ راست‌به‌چپ */
.ha-s3 .ha-tx1{--d:60;stroke-dasharray:60!important;stroke-dashoffset:60;animation-delay:12.5s!important}
.ha-s3 .ha-tx2{--d:84;stroke-dasharray:84!important;stroke-dashoffset:84;animation-delay:12.9s!important}
.ha-s3 .ha-tx3{--d:84;stroke-dasharray:84!important;stroke-dashoffset:84;animation-delay:13.3s!important}
.ha-s3 .ha-tx4{--d:44;stroke-dasharray:44!important;stroke-dashoffset:44;animation-delay:13.7s!important}
@keyframes haType{
  0%{stroke-dashoffset:var(--d,84)}
  8%{stroke-dashoffset:0}
  30%{stroke-dashoffset:0}
  33%,100%{stroke-dashoffset:var(--d,84)}
}

@media (prefers-reduced-motion:reduce){
  .ha-s3 .ha-tx{animation:none!important;stroke-dashoffset:0!important}
}

/* ============================================================
   COMPARE (مقایسه‌ی ملک‌ها) — جدولِ چسبان + نوارِ شناور + دکمه‌ها
   موبایل‌محور: ستونِ برچسب چسبیده به راست، ستون‌های ملک اسکرولِ افقی
   ============================================================ */
.cmp-page{padding:28px 0 90px}

/* دکمه‌ی مقایسه روی کارت (کنارِ قلب) */
.prop .cmp-btn{inset-inline-end:60px}
/* مقایسه‌ی فعال هم چیپِ توپرِ اکسنت با آیکونِ سفید — هماهنگ با ذخیره‌شده */
.fav.cmp-btn.on{background:color-mix(in srgb,var(--gold) 92%,transparent);color:var(--gold-fg);border-color:transparent}
.fav.cmp-btn.on:hover{background:var(--gold);color:var(--gold-fg)}
.pc-cmp{width:100%;justify-content:center}
.pc-cmp.on{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}

/* ---------- ابزارها ---------- */
.cmp-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 18px;border-radius:var(--r);margin-bottom:14px;flex-wrap:wrap}
.cmp-only{display:inline-flex;align-items:center;gap:11px;cursor:pointer}
.cmp-only input{position:absolute;opacity:0;width:0;height:0}
.cmp-only-sw{position:relative;flex:0 0 auto;width:44px;height:24px;border-radius:99px;
  background:var(--panel-2);border:1px solid var(--brd);transition:.25s var(--ease)}
.cmp-only-sw::before{content:"";position:absolute;top:2px;inset-inline-end:2px;width:18px;height:18px;
  border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.25s var(--ease)}
.cmp-only:has(input:checked) .cmp-only-sw{background:var(--gold);border-color:var(--gold)}
.cmp-only:has(input:checked) .cmp-only-sw::before{inset-inline-end:calc(100% - 20px)}
.cmp-only-tx{display:flex;flex-direction:column;line-height:1.5}
.cmp-only-tx b{font-size:13.5px;color:var(--ink)}
.cmp-only-tx small{font-size:11.5px;color:var(--muted)}
.cmp-tools .btn-sm-glass{width:auto;padding:9px 14px;height:auto}
.cmp-hint{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:14px;margin-bottom:14px;
  font-size:13px;color:var(--gold)}
.cmp-note{text-align:center;font-size:12.5px;color:var(--muted);margin-top:12px;
  display:flex;align-items:center;justify-content:center;gap:6px}
@media(min-width:761px){.cmp-note{display:none}}

/* ---------- جدول ---------- */
.cmp-wrap{border-radius:var(--r);overflow:auto;position:relative;
  scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
.cmp-wrap::-webkit-scrollbar{height:10px}
.cmp-wrap::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:99px;
  border:3px solid transparent;background-clip:padding-box}
.cmp-wrap::-webkit-scrollbar-button{display:none !important}
.cmp-table{border-collapse:separate;border-spacing:0;width:100%;
  table-layout:fixed;min-width:calc(120px + var(--cols) * 190px)}

/* ستونِ برچسبِ چسبان (RTL → راست) */
.cmp-corner,.cmp-label{position:sticky;right:0;z-index:2;width:120px;min-width:120px;
  background:var(--menu-bg);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border-inline-end:1px solid var(--brd)}
.cmp-corner{z-index:4;border-bottom:1px solid var(--brd)}
.cmp-corner span{font-size:12px;color:var(--muted);font-weight:700}

/* سرستونِ ملک (چسبان به بالا) */
.cmp-h{position:sticky;top:0;z-index:3;padding:14px 10px;vertical-align:top;
  background:var(--menu-bg);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border-bottom:1px solid var(--brd);border-inline-end:1px solid var(--brd-soft)}
.cmp-h-in{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.cmp-h-link{display:flex;flex-direction:column;align-items:center;gap:7px;width:100%}
/* ارتفاع از نسبتِ ۴:۵ می‌آید (قابِ مبنا)، پس اینجا تعیین نمی‌شود */
.cmp-thumb{width:100%;border-radius:12px;background-color:var(--panel);
  display:grid;place-items:center;color:var(--faint);font-size:22px;
  border:1px solid var(--brd-soft)}
.cmp-t{font-size:12.5px;color:var(--ink);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cmp-h .price{font-size:13px}
.cmp-x{position:absolute;top:6px;inset-inline-start:6px;z-index:2;width:24px;height:24px;border-radius:50%;
  border:1px solid var(--brd);background:var(--panel-2);color:var(--muted);font-size:14px;
  cursor:pointer;display:grid;place-items:center;transition:.2s}
.cmp-x:hover{background:#e2554e;color:#fff;border-color:transparent}

/* ردیف‌ها */
.cmp-row td{padding:12px 10px;border-bottom:1px solid var(--brd-soft);font-size:13px}
.cmp-label{font-size:12.5px;font-weight:700;color:var(--muted);text-align:right}
.cmp-v{text-align:center;color:var(--ink);font-weight:600;border-inline-end:1px solid var(--brd-soft)}
.cmp-dash{color:var(--faint)}
.cmp-row:hover td{background:color-mix(in srgb,var(--gold) 4%,transparent)}

/* بهترین مقدارِ هر ردیف */
.cmp-v.is-best{color:var(--gold);font-weight:700;
  background:color-mix(in srgb,var(--gold) 10%,transparent)!important}
.cmp-star{font-size:10px;margin-inline-start:4px;vertical-align:2px}

/* امکانات */
.cmp-yes{color:#2ec27e;font-size:17px}
.cmp-no{color:var(--faint);font-size:15px;opacity:.5}
.cmp-sec td{padding:11px 14px;font-size:12.5px;font-weight:700;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 7%,transparent);
  border-bottom:1px solid var(--brd);border-top:1px solid var(--brd)}
.cmp-sec i{margin-inline-end:6px}

/* فوتر */
.cmp-table tfoot td{padding:14px 10px;border-top:1px solid var(--brd)}
.cmp-cta{width:100%;justify-content:center;padding:10px 8px;font-size:13px}

/* فیلترِ «فقط تفاوت‌ها» */
.cmp-wrap.diff-only .cmp-row.is-same{display:none}

/* ---------- نوارِ شناورِ مقایسه ---------- */
.cbar{position:fixed;bottom:0;inset-inline:0;z-index:95;padding:0 14px 14px;
  animation:cbarIn .3s var(--ease)}
@keyframes cbarIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
.cbar-in{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;border-radius:20px;
  background:var(--menu-bg);border:1px solid var(--brd);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.55)}
.cbar-items{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}
.cbar-items::-webkit-scrollbar{display:none}
.cbar-item{position:relative;flex:0 0 auto}
.cbar-th{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;
  background:var(--panel);background-size:cover;background-position:center;
  border:1px solid var(--brd);color:var(--faint);font-size:16px}
.cbar-x{position:absolute;top:-5px;inset-inline-start:-5px;width:19px;height:19px;border-radius:50%;
  border:2px solid var(--menu-bg);background:#e2554e;color:#fff;font-size:11px;line-height:1;
  cursor:pointer;display:grid;place-items:center;padding:0}
.cbar-slot{flex:0 0 auto;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  border:1.5px dashed var(--brd);color:var(--faint);font-size:15px}
.cbar-acts{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.cbar-clear{width:52px;height:52px;border-radius:12px;border:1px solid var(--brd);
  background:var(--panel);color:var(--muted);font-size:16px;cursor:pointer;display:grid;place-items:center;transition:.2s}
.cbar-clear:hover{color:#e2554e;border-color:color-mix(in srgb,#e2554e 40%,var(--brd))}
.cbar-go{padding:11px 20px;white-space:nowrap}
.cbar-go.is-off{opacity:.55;pointer-events:none}
.cbar-n{background:color-mix(in srgb,var(--gold) 22%,transparent);border-radius:99px;
  padding:1px 8px;font-size:12px;margin-inline-start:4px}
/* جا برای نوار تا محتوا زیرش نرود */
body.has-cbar{padding-bottom:86px}
body.has-cbar .pd-mbar{bottom:80px}

/* ---------- توست ---------- */
.cmp-toast{position:fixed;bottom:96px;inset-inline:0;margin:0 auto;width:max-content;max-width:88vw;z-index:120;
  padding:11px 20px;border-radius:99px;font-size:13.5px;font-weight:600;color:var(--ink);
  background:var(--menu-bg);border:1px solid var(--brd);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  box-shadow:0 18px 40px -18px rgba(0,0,0,.5);
  opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s var(--ease)}
.cmp-toast.show{opacity:1;transform:translateY(0)}

@media(max-width:560px){
  /* موبایل: انتخاب‌شده‌ها در خطِ بالا و وسط‌چین، دکمه‌ها در خطِ پایین و
     دو سرِ نوار (یکی چپ، یکی راست). در دسکتاپ همان یک‌ردیفه می‌ماند. */
  .cbar-in{flex-direction:column;align-items:stretch;padding:10px;border-radius:18px;gap:10px}
  .cbar-items{justify-content:center}
  .cbar-acts{justify-content:space-between}
  .cbar-th,.cbar-slot{width:40px;height:40px}
  .cbar-go{padding:10px 14px;font-size:13px}
  .cmp-corner,.cmp-label{width:96px;min-width:96px}
  .cmp-table{min-width:calc(96px + var(--cols) * 150px)}
}

/* ============================================================
   ADVISOR (توصیه‌گرِ هدف‌محور در صفحه‌ی مقایسه)
   ============================================================ */
.adv{margin-bottom:18px}
.adv-head{margin-bottom:14px}
.adv-head h3{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:700;color:var(--ink)}
.adv-head h3 i{color:var(--gold);font-size:18px}
.adv-head p{font-size:12.5px;color:var(--muted);margin-top:5px}

.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.adv-card{padding:16px;border-radius:var(--r);display:flex;flex-direction:column;gap:10px;
  transition:.25s var(--ease)}
.adv-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.adv-card.is-none{opacity:.62}

.adv-top{display:flex;align-items:center;gap:11px}
.adv-ic{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  font-size:18px;color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 25%,transparent)}
.adv-tx{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.adv-tx b{font-size:13.5px;color:var(--ink)}
.adv-tx small{font-size:11px;color:var(--muted)}

.adv-win{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd);transition:.2s}
.adv-win:hover{border-color:var(--gold)}
.adv-rank{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold);color:var(--gold-fg);font-size:11px;font-weight:700}
.adv-name{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adv-win>i{color:var(--gold);font-size:12px;flex:0 0 auto}

.adv-bar{height:7px;border-radius:99px;background:var(--panel-2);overflow:hidden;border:1px solid var(--brd-soft)}
.adv-bar>span{display:block;height:100%;border-radius:99px;background:var(--gold);
  animation:advGrow 1s var(--ease) both}
@keyframes advGrow{from{width:0!important}}
.adv-score{font-size:11px;color:var(--muted);font-weight:600}

.adv-why{list-style:none;display:flex;flex-direction:column;gap:5px;margin:0;padding:0}
.adv-why li{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.adv-why i{color:#2ec27e;font-size:12px;flex:0 0 auto}

.adv-none{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--faint);padding:8px 0}

.adv-note{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;color:var(--muted);
  line-height:1.9;margin-top:12px;padding:10px 14px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd-soft)}
.adv-note i{color:var(--gold);margin-top:3px;flex:0 0 auto}
.adv-note>span{flex:1 1 auto;min-width:0}
.adv-note b{color:var(--ink)}

/* ردیف‌های امتیاز داخلِ جدول */
.adv-row-ic{color:var(--gold);margin-inline-end:5px;font-size:12px}
.adv-mini{height:5px;border-radius:99px;background:var(--panel-2);overflow:hidden;
  border:1px solid var(--brd-soft);margin-bottom:5px}
.adv-mini>span{display:block;height:100%;border-radius:99px;background:var(--gold)}
.adv-mini-n{font-size:12px;font-weight:700;color:var(--ink)}
.cmp-v.is-best .adv-mini-n{color:var(--gold)}

/* ============================================================
   AI ANALYSIS (.ai) — کارتِ تحلیلِ هوشمندِ ملک
   ============================================================ */
.ai-card h2{justify-content:flex-start;flex-wrap:wrap}
.ai-ver{margin-inline-start:auto;font-size:10.5px;font-weight:700;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 25%,transparent);
  border-radius:99px;padding:3px 10px}
.ai-summary{font-size:14px;line-height:2.1;color:var(--ink);margin:0 0 16px;
  padding:14px 16px;border-radius:14px;
  background:color-mix(in srgb,var(--gold) 7%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 18%,transparent)}
/* هر بندِ خلاصه سطرِ خودش را دارد؛ فاصله‌ی بین بندها خواندن را آسان می‌کند */
.ai-summary p{margin:0}
.ai-summary p + p{margin-top:9px;padding-top:9px;border-top:1px dashed color-mix(in srgb,var(--gold) 16%,transparent)}

/* ستاره‌ی کیفیت و ارزشِ ملک (StarRating) — لایه‌ی «کارت» طبقِ سیستمِ سه‌لایه */
.ai-stars{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
  margin:0 0 14px;padding:12px 16px;border-radius:14px;
  background:var(--panel);border:1px solid var(--brd)}
.ai-stars-row{display:flex;align-items:center;gap:4px}
.ai-stars-row .bi{font-size:19px;color:var(--faint);line-height:1}
.ai-stars.ai-good .bi-star-fill,.ai-stars.ai-good .bi-star-half{color:#2ec27e}
.ai-stars.ai-fair .bi-star-fill,.ai-stars.ai-fair .bi-star-half{color:var(--gold)}
.ai-stars.ai-over .bi-star-fill,.ai-stars.ai-over .bi-star-half{color:#e2554e}
.ai-stars-n{font-size:19px;font-weight:700;margin-inline-start:8px;color:var(--ink)}
.ai-stars-of{font-size:11px;color:var(--muted)}
.ai-stars-l{font-size:11.5px;color:var(--muted)}
/* عاملی که داده نداشت: نمایش داده می‌شود ولی محو — «رأی نداد»، نه «صفر گرفت» */
.ai-cf-off{opacity:.45}
.ai-cf-note{font-size:11.5px;line-height:2;color:var(--muted);margin:8px 0 0}

/* بازه‌ی ارزش */
.ai-range{padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--brd);margin-bottom:16px}
.ai-range-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ai-range-head>span:first-child{font-size:12.5px;color:var(--muted);font-weight:600}
.ai-pos{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;border-radius:99px;padding:4px 11px}
.ai-pos.good{color:#2ec27e;background:color-mix(in srgb,#2ec27e 13%,transparent)}
.ai-pos.fair{color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,transparent)}
.ai-pos.over{color:#e2554e;background:color-mix(in srgb,#e2554e 13%,transparent)}
.ai-range-v{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.ai-range-v b{font-size:16px;font-weight:700;color:var(--gold)}
.ai-dash{font-size:12px;color:var(--muted)}
.ai-bar{position:relative;height:8px;border-radius:99px;background:var(--panel-2);
  border:1px solid var(--brd-soft);margin-bottom:8px}
.ai-bar-fill{position:absolute;inset:0;border-radius:99px;
  background:color-mix(in srgb,var(--gold) 35%,transparent)}
.ai-bar-pin{position:absolute;top:50%;width:3px;height:16px;border-radius:2px;background:var(--ink);
  transform:translate(50%,-50%);box-shadow:0 0 0 3px var(--panel)}
.ai-bar-lg{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  font-size:12px;color:var(--muted)}
.ai-bar-lg b{color:var(--ink);font-weight:700}

/* امتیازها */
.ai-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:16px}
.ai-sc{display:flex;flex-direction:column;align-items:center;gap:4px;padding:13px 8px;border-radius:14px;
  background:var(--panel);border:1px solid var(--brd);text-align:center}
.ai-sc-n{font-size:19px;font-weight:700;color:var(--gold)}
.ai-sc-n.ai-good{color:#2ec27e}.ai-sc-n.ai-fair{color:var(--gold)}.ai-sc-n.ai-over{color:#e2554e}
.ai-sc-l{font-size:11px;color:var(--muted)}

/* توصیه‌ی خرید */
.ai-buy{display:flex;flex-direction:column;gap:7px;padding:14px 16px;border-radius:14px;margin-bottom:14px;
  background:var(--panel);border:1px solid var(--brd)}
.ai-buy b{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--ink)}
.ai-buy b i{color:var(--gold)}
.ai-buy>span{font-size:12.5px;line-height:1.95;color:var(--muted)}
.ai-buy-good{border-color:color-mix(in srgb,#2ec27e 40%,var(--brd));background:color-mix(in srgb,#2ec27e 6%,var(--panel))}
.ai-buy-good b i{color:#2ec27e}
.ai-buy-negotiate{border-color:color-mix(in srgb,#e2554e 35%,var(--brd));background:color-mix(in srgb,#e2554e 5%,var(--panel))}
.ai-use{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ai-use-i{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);
  background:var(--panel-2);border:1px solid var(--brd-soft);border-radius:99px;padding:5px 11px}
.ai-use-i i{color:var(--gold)}
.ai-use-i b{color:var(--ink);font-size:12px;display:inline}

/* آکاردیونِ جزئیات */
.ai-more{border-top:1px solid var(--brd-soft);padding-top:12px}
.ai-more summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;
  font-size:13px;font-weight:700;color:var(--gold);padding:6px 0}
.ai-more summary::-webkit-details-marker{display:none}
.ai-more summary i{transition:transform .25s var(--ease)}
.ai-more[open] summary i{transform:rotate(180deg)}

.ai-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}
/* فهرستِ اصلیِ نقاط قوت/ضعف بالای صفحه — کمی درشت‌تر از نسخه‌ی داخلِ آکاردیون */
.ai-lists-main{margin:0 0 16px}
.ai-lists-main .ai-list b{font-size:13px}
.ai-lists-main .ai-list li{font-size:12.5px;line-height:2}
/* جمع‌بندی — بعد از فهرست‌ها */
.ai-closing{margin:0 0 16px;padding:12px 15px;border-radius:13px;
  background:var(--panel);border:1px solid var(--brd-soft)}
.ai-closing b{display:flex;align-items:center;gap:6px;font-size:12.5px;margin-bottom:7px;color:var(--ink)}
.ai-closing b i{color:var(--gold)}
.ai-closing p{margin:0;font-size:12.5px;line-height:2;color:var(--muted); text-wrap-style: balance}
.ai-closing p + p{margin-top:5px}
.ai-list{padding:12px 14px;border-radius:13px;background:var(--panel);border:1px solid var(--brd-soft)}
.ai-list b{display:flex;align-items:center;gap:6px;font-size:12.5px;margin-bottom:8px;color:var(--ink)}
.ai-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ai-list li{font-size:11.5px;line-height:1.9;color:var(--muted);padding-inline-start:16px;position:relative}
/* نقطه‌ی رنگیِ ابتدای هر سطر: سبز = قوت، قرمز = ضعف، طلایی = نکته‌ی بررسی.
   هاله‌ی دورش نقطه را در تمِ روشن و تاریک هر دو خوانا نگه می‌دارد. */
.ai-list li::before{content:"";position:absolute;inset-inline-start:0;top:7px;
  width:7px;height:7px;border-radius:50%;background:var(--muted)}
.ai-good b i{color:#2ec27e}
.ai-good li::before{background:#2ec27e;box-shadow:0 0 0 3px color-mix(in srgb,#2ec27e 18%,transparent)}
/* «نکاتِ قابلِ توجه» — عمداً کهربایی نه قرمز: این‌ها نکته‌اند نه عیب،
   نباید حسِ منفی بسازند. */
.ai-bad b i{color:#d99a3c}
.ai-bad li::before{background:#d99a3c;box-shadow:0 0 0 3px color-mix(in srgb,#d99a3c 18%,transparent)}
.ai-risk b i{color:var(--gold)}
.ai-risk li::before{background:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent)}

.ai-sub{margin-top:16px}
.ai-sub-h{display:block;font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:9px}
.ai-factors{display:flex;flex-direction:column;gap:7px}
.ai-fact{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);
  padding:8px 12px;border-radius:11px;background:var(--panel);border:1px solid var(--brd-soft)}
.ai-fact b{color:var(--ink);font-size:12.5px}
.ai-fact.up i{color:#2ec27e;font-size:17px}
.ai-fact.down i{color:#e2554e;font-size:17px}

/* شفافیتِ اطمینان */
.ai-cf{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.ai-cf-l{flex:0 0 40%;font-size:11.5px;color:var(--muted)}
.ai-cf-l small{color:var(--faint)}
.ai-cf-bar{flex:1;height:6px;border-radius:99px;background:var(--panel-2);border:1px solid var(--brd-soft);overflow:hidden}
.ai-cf-bar>span{display:block;height:100%;border-radius:99px;background:var(--gold)}
.ai-cf-w{flex:0 0 auto;font-size:10.5px;color:var(--faint)}

/* فایل‌های مشابه */
.ai-comps{display:flex;flex-direction:column;gap:7px}
.ai-comp{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd);transition:.2s}
.ai-comp:hover{border-color:var(--gold)}
.ai-comp-sim{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);border-radius:99px;padding:4px 9px}
.ai-comp-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ai-comp-tx b{font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-comp-tx small{font-size:11px;color:var(--muted)}
.ai-comp>i{color:var(--gold);font-size:12px;flex:0 0 auto}

.ai-disclaimer{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.9;color:var(--faint);
  margin-top:16px;padding-top:12px;border-top:1px solid var(--brd-soft)}
.ai-disclaimer i{margin-top:3px;flex:0 0 auto}
/* min-width:0 لازم است وگرنه آیتمِ فلکس زیرِ عرضِ محتوایش کوچک نمی‌شود و در موبایل سرریز می‌کند */
.ai-disclaimer>span{flex:1 1 auto;min-width:0}
.ai-disclaimer b{color:var(--muted)}

/* ============================================================
   خطِ زمانیِ قیمت (.tl) — نقطه‌های واقعی، بدونِ خطِ روند
   ============================================================ */
.tl-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}
.tl-lg{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.tl-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.tl-dot.near{background:color-mix(in srgb,var(--gold) 45%,transparent);border:1px solid var(--gold)}
.tl-dot.me{background:var(--ink);border:2px solid var(--gold);width:12px;height:12px}
.tl-dot.sold{background:color-mix(in srgb,#2ec27e 45%,transparent);border:1px solid #2ec27e}
.tl-line{width:16px;height:2px;border-radius:2px;background:var(--gold);flex:0 0 auto}

.tl-wrap{position:relative;height:220px;margin-bottom:6px}
.tl-svg{display:block;width:100%;height:100%}
.tl-grid{stroke:var(--brd-soft);stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.tl-selfline{fill:none;stroke:var(--gold);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;
  stroke-dasharray:4 3;opacity:.85}

/* ── نقطه‌ها ──────────────────────────────────────────────────────────
   ⚠️ HTML‌اند نه SVG: چون SVG با preserveAspectRatio="none" کشیده می‌شود،
   هر <circle> بیضی می‌شد. لایه‌ی مطلقِ درصدی دایره را در هر عرضی دایره
   نگه می‌دارد. حاشیه‌ی داخلی معادلِ شعاعِ نقطه است تا نقطه‌های لبه نبُرند. */
.tl-dots{position:absolute;inset:14px 0 26px;pointer-events:none}
.tl-pt{position:absolute;translate:50% -50%;pointer-events:auto;
  width:13px;height:13px;padding:0;border-radius:50%;cursor:pointer;
  background:color-mix(in srgb,var(--gold) 55%,transparent);
  border:1.5px solid var(--gold);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 12%,transparent);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.tl-pt:hover,.tl-pt:focus-visible,.tl-pt.on{transform:scale(1.35);outline:none;
  box-shadow:0 0 0 7px color-mix(in srgb,var(--gold) 20%,transparent),0 6px 18px rgba(0,0,0,.28);z-index:6}
.tl-pt.sold{background:color-mix(in srgb,#2ec27e 55%,transparent);border-color:#2ec27e;
  box-shadow:0 0 0 4px color-mix(in srgb,#2ec27e 12%,transparent)}
.tl-pt.sold:hover,.tl-pt.sold:focus-visible,.tl-pt.sold.on{
  box-shadow:0 0 0 7px color-mix(in srgb,#2ec27e 22%,transparent),0 6px 18px rgba(0,0,0,.28)}
/* آگهیِ خودمان: بزرگ‌تر، توپر، با نبضِ ملایم تا بینِ بقیه گم نشود */
.tl-pt.me{width:17px;height:17px;background:var(--gold);border:2.5px solid var(--panel-2);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 26%,transparent);z-index:4;
  animation:tlPulse 2.6s var(--ease) infinite}
@keyframes tlPulse{
  0%,100%{box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 26%,transparent)}
  50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--gold) 8%,transparent)}
}
@media(prefers-reduced-motion:reduce){.tl-pt.me{animation:none}}

/* ── تولتیپ ───────────────────────────────────────────────────────── */
.tl-tip{position:absolute;bottom:calc(100% + 11px);inset-inline-start:50%;
  translate:50% 0;width:max-content;max-width:min(230px,72vw);z-index:20;
  display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;text-align:start;
  background:var(--menu-bg);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd);box-shadow:0 14px 34px rgba(0,0,0,.3);
  opacity:0;visibility:hidden;transform:translateY(4px);
  transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s}
.tl-pt:hover .tl-tip,.tl-pt:focus-visible .tl-tip,.tl-pt.on .tl-tip{
  opacity:1;visibility:visible;transform:translateY(0)}
/* نزدیکِ لبه‌ها به‌جای وسط، از همان سمت لنگر می‌گیرد تا بیرون نزند */
.tl-pt[data-side="start"] .tl-tip{inset-inline-start:auto;inset-inline-end:-6px;translate:0 0}
.tl-pt[data-side="end"] .tl-tip{inset-inline-start:-6px;translate:0 0}
/* نقطه‌های نیمه‌ی بالا، تولتیپ را پایین می‌اندازند تا از کارت نزنند بیرون */
.tl-tip-p{font-size:13px;font-weight:800;color:var(--ink);white-space:nowrap}
.tl-tip-p small{font-size:10.5px;font-weight:400;color:#9aa49e}
.tl-tip-r{display:flex;align-items:center;gap:5px;font-size:11px;line-height:1.7;color:var(--muted)}
.tl-tip-r i{color:var(--gold);font-size:11px;flex:0 0 auto}
.tl-tip-s{margin-top:2px;padding-top:5px;border-top:1px dashed var(--brd-soft)}

.tl-y{position:absolute;inset-inline-start:0;font-size:10.5px;color:var(--faint);
  background:var(--panel-2);border-radius:6px;padding:1px 6px;pointer-events:none;z-index:2}
.tl-y.top{top:0}
.tl-y.bot{bottom:26px}

.tl-x{display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:10.5px;color:var(--faint);padding-top:2px}
.tl-x-mid{color:var(--gold);font-weight:700}

.tl-disc{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.9;color:var(--faint);
  margin:14px 0 0;padding-top:12px;border-top:1px solid var(--brd-soft)}
.tl-disc i{margin-top:3px;flex:0 0 auto}

@media(max-width:560px){
  .tl-svg{height:180px}
  .tl-legend{gap:6px 12px}
  .tl-lg{font-size:10px}
}

/* نقشهٔ نمایشِ موقعیت در صفحهٔ جزئیات */
.pd-map{height:320px;border-radius:14px;overflow:hidden;border:1px solid var(--brd);
  background:var(--panel);z-index:0}
.pd-map .leaflet-control-attribution{background:var(--menu-bg);color:var(--faint);font-size:9px}
.pd-map .leaflet-control-attribution a{color:var(--muted)}
.pd-map .leaflet-bar a{background:var(--menu-bg);color:var(--ink);border-color:var(--brd)}
.pd-map .leaflet-bar a:hover{background:var(--panel)}
.pd-map-note{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.9;
  color:var(--muted);margin:0 0 12px;padding:10px 13px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd-soft)}
.pd-map-note i{color:var(--gold);font-size:14px;margin-top:2px;flex:0 0 auto}
/* آدرسِ متنی زیرِ نقشه، داخلِ همان قابِ «موقعیت» */
.pd-addr{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:2;color:var(--muted);
  margin:14px 0 0;padding:12px 2px 0;border-top:1px dashed var(--brd-soft)}
.pd-addr i{color:var(--gold);font-size:16px;flex:0 0 auto}
/* وقتی نقشه‌ای نیست و آدرس بلافاصله بعدِ عنوان می‌آید، خطِ جداکننده لازم نیست */
h2 + .pd-addr{border-top:0;margin-top:6px;padding-top:0}
@media(max-width:560px){ .pd-map{height:240px} }

/* ============================================================
   بازارِ محله در فرم (.mk) — واقعیت، بدونِ حکم
   ============================================================ */
.mk{margin:0 0 16px;padding:14px 16px;border-radius:14px;
  background:color-mix(in srgb,var(--gold) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}
.mk-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.mk-head>span:first-child{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--ink)}
.mk-head i{color:var(--gold)}
.mk-n{font-size:11px;font-weight:700;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 24%,transparent);
  border-radius:99px;padding:3px 10px}
/* حینِ بارگذاری شمارنده خالی است؛ بدونِ این، یک چیپِ توخالیِ بی‌معنی دیده می‌شود */
.mk-n:empty{display:none}

.mk-load{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:6px 0}

.mk-range{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin-bottom:11px}
.mk-range b{font-size:16px;font-weight:700;color:var(--gold)}
.mk-dash{font-size:12px;color:var(--muted)}

.mk-bar{position:relative;height:8px;border-radius:99px;margin-bottom:9px;
  background:color-mix(in srgb,var(--gold) 18%,transparent);border:1px solid var(--brd-soft)}
.mk-pin{position:absolute;top:50%;width:3px;height:16px;border-radius:2px;background:var(--ink);
  transform:translate(50%,-50%);box-shadow:0 0 0 3px var(--panel);transition:inset-inline-start .3s var(--ease)}

.mk-legend{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  font-size:11.5px;color:var(--muted);margin-bottom:9px}
.mk-legend b{color:var(--ink);font-weight:700}

.mk-fact{font-size:12px;line-height:1.9;color:var(--muted);margin:8px 0}
.mk-fact b{color:var(--ink)}
.mk-sold{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);margin:0 0 7px}
.mk-sold i{color:#2ec27e}
.mk-disc{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.85;color:var(--faint);
  margin:9px 0 0;padding-top:9px;border-top:1px solid var(--brd-soft)}
.mk-disc i{margin-top:2px;flex:0 0 auto}

@media(max-width:560px){
  .mk-range b{font-size:14.5px}
  .mk-legend{flex-direction:column;align-items:flex-start;gap:3px}
}

/* ============================================================
   انتخابگرِ نقشه (.mp) — دو حالتِ «دقیق» و «محدوده»
   ============================================================ */
.mp{padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--brd)}

.mp-modes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:11px}
/* ⚠️ font-family:inherit اجباری است — <button> فونت را از بدنه ارث نمی‌برد و
   فونتِ پیش‌فرضِ مرورگر را می‌گیرد، که کنارِ بقیه‌ی فرم وصله‌ای دیده می‌شود. */
.mp-mode{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 10px;
  border-radius:13px;cursor:pointer;text-align:center;font-family:inherit;
  background:var(--panel-2);border:1px solid var(--brd);color:var(--muted);
  transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease)}
.mp-mode i{font-size:17px}
.mp-mode span{font-size:12.5px;font-weight:700;color:var(--ink)}
.mp-mode small{font-size:10.5px;color:var(--faint);line-height:1.6}
.mp-mode:hover{border-color:var(--gold)}
.mp-mode.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.mp-mode.on i{color:var(--gold)}

.mp-hint{font-size:11.5px;line-height:1.9;color:var(--muted);margin:0 0 11px}

/* راهنمای GPS — پیش از تلاش، نه بعد از شکست */
.mp-gps{display:flex;align-items:flex-start;gap:8px;margin-bottom:11px;padding:10px 13px;
  border-radius:11px;font-size:11.5px;line-height:1.9;color:var(--muted);
  background:color-mix(in srgb,var(--gold) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 18%,transparent)}
.mp-gps i{color:var(--gold);font-size:14px;margin-top:2px;flex:0 0 auto}
.mp-gps b{color:var(--ink)}

/* «هنوز مکان مشخص نیست» — فقط برای امتیازِ مسکنِ ملی */
/* «هنوز مکان مشخص نیست» — همان سوییچِ رهن (.rent-switch-field + .switch)،
   فقط متنش دو سطری است. ⚠️ استایلِ چک‌باکسِ خام اینجا نگذارید: ورودیِ .switch
   عمداً نامرئی است و هر width/height دستی، سوییچ را می‌شکند. */
.mp-unknown{margin-bottom:11px}
.mp-unknown[hidden]{display:none}
.mp-unknown-row{align-items:center}
.mp-unknown-text b{display:block;font-size:13px;font-weight:700;color:var(--pf-ink)}
.mp-unknown-text small{display:block;margin-top:3px;font-size:11px;line-height:1.85;color:var(--muted)}

/* یادداشتِ بالای بازه‌ی بودجه‌ی «خواهان» */
.bg-note{display:flex;align-items:flex-start;gap:8px;margin-bottom:13px;padding:10px 13px;
  border-radius:11px;font-size:11.5px;line-height:1.9;color:var(--muted);
  background:color-mix(in srgb,var(--gold) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 18%,transparent)}
.bg-note i{color:var(--gold);font-size:14px;margin-top:2px;flex:0 0 auto}

/* آدرسِ قفل‌شده: از روی نقشه پر می‌شود، پس ظاهرش هم باید «فقط-خواندنی» بنماید */
#address[readonly]{background:color-mix(in srgb,var(--ink) 4%,var(--panel));
  color:var(--muted);cursor:default}

.mp-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}

/* دکمهٔ «موقعیتِ من» — اکسنتِ طلایی چون کارِ اصلیِ این بخش است.
   ⚠️ کلاسِ btn-spin روی خودِ دکمه نگذارید: آن اسپینرِ ۱۵×۱۵ است و دکمه را
   به یک لکهٔ چرخان تبدیل می‌کند. BtnLoading خودش تزریقش می‌کند. */
.mp-btn-loc{border-color:color-mix(in srgb,var(--gold) 40%,var(--brd));
  background:color-mix(in srgb,var(--gold) 10%,transparent)}
.mp-btn-loc i{color:var(--gold)}
.mp-btn-loc:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent)}

.mp-coords{flex:1;min-width:130px;display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;color:var(--faint);transition:color .2s var(--ease)}
.mp-coords i{font-size:13px;flex:0 0 auto}
.mp-coords.ok{color:#2ec27e;font-weight:600}

/* پاک کردن — کمرنگ می‌ماند تا با کارِ اصلی رقابت نکند، و فقط در هاور قرمز می‌شود */
.mp-clear{color:var(--muted);border-color:var(--brd-soft);background:transparent}
.mp-clear:hover{color:#e2554e;border-color:color-mix(in srgb,#e2554e 45%,transparent);
  background:color-mix(in srgb,#e2554e 8%,transparent)}
.mp-clear i{font-size:12px}

.mp-map{height:300px;border-radius:13px;overflow:hidden;border:1px solid var(--brd);
  background:var(--panel-2);z-index:0}
.mp-map .leaflet-control-attribution{background:var(--menu-bg);color:var(--faint);font-size:9px}
.mp-map .leaflet-control-attribution a{color:var(--muted)}
.mp-map .leaflet-bar a{background:var(--menu-bg);color:var(--ink);border-color:var(--brd)}
.mp-map .leaflet-bar a:hover{background:var(--panel)}

/* راهنمای دایره‌ها — نقطه‌ها عمداً هم‌رنگ و هم‌شکلِ خودِ دایره‌های روی نقشه‌اند،
   وگرنه راهنما کارِ خودش را نمی‌کند */
.mp-legend{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:10px;padding:9px 13px;
  border-radius:11px;background:var(--panel-2);border:1px solid var(--brd-soft)}
.mp-lg-i{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}
.mp-lg-dot{width:13px;height:13px;border-radius:50%;flex:0 0 auto}
.mp-lg-dot.area{background:color-mix(in srgb,var(--gold) 35%,transparent);border:2px solid var(--gold)}
.mp-lg-dot.pin{background:var(--gold);border:2px solid var(--gold)}
.mp-lg-dot.acc{background:color-mix(in srgb,#2ec27e 8%,transparent);border:1px dashed #2ec27e}

.mp-note{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:10px 13px;
  border-radius:11px;font-size:11.5px;line-height:1.85}
.mp-note i{margin-top:2px;flex:0 0 auto;font-size:14px}
.mp-note span{flex:1;min-width:0}
.mp-note.warn{color:#e2554e;background:color-mix(in srgb,#e2554e 8%,transparent);
  border:1px solid color-mix(in srgb,#e2554e 26%,transparent)}
.mp-note.ok{color:#2ec27e;background:color-mix(in srgb,#2ec27e 8%,transparent);
  border:1px solid color-mix(in srgb,#2ec27e 26%,transparent)}
.mp-note b{font-weight:700}

@media(max-width:560px){
  .mp-map{height:240px}
  .mp-mode small{display:none}
}

/* ============================================================
   ثبتِ معامله (.sold) — مودالِ قیمتِ نهایی
   ============================================================ */
.sold-lead{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 14px}
.sold-lead b{color:var(--ink)}
.sold-opt{font-size:11px;color:var(--faint);font-weight:400}

.sold-money{display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd);transition:border-color .2s var(--ease)}
.sold-money:focus-within{border-color:var(--gold)}
.sold-money input{flex:1;min-width:0;background:none;border:0;outline:0;padding:12px 0;
  font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.4px}
.sold-money input::placeholder{font-weight:400;font-size:13px;color:var(--faint);letter-spacing:0}

.sold-words{display:block;min-height:17px;margin-top:7px;font-size:12px;color:var(--gold);font-weight:600}
.sold-ask{display:block;min-height:16px;margin-top:4px;font-size:11px;color:var(--faint)}
.sold-ask.warn{color:#e2554e}

.sold-err{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.8;margin-bottom:12px;
  padding:10px 13px;border-radius:11px;color:#e2554e;
  background:color-mix(in srgb,#e2554e 8%,transparent);
  border:1px solid color-mix(in srgb,#e2554e 30%,transparent)}
.sold-err i{margin-top:2px;flex:0 0 auto}

.sold-privacy{display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding:12px 14px;
  border-radius:12px;font-size:11.5px;line-height:1.95;color:var(--muted);
  background:var(--panel);border:1px solid var(--brd-soft)}
.sold-privacy i{color:#2ec27e;font-size:15px;margin-top:2px;flex:0 0 auto}
.sold-privacy b{color:var(--ink)}

/* قیمتِ نهاییِ معامله در کارتِ داشبورد — فقط مالک می‌بیند */
.sold-final{display:flex;align-items:center;gap:6px;margin-top:8px;margin-bottom:8px;padding:7px 11px;border-radius:10px;
  font-size:12px;color:var(--muted);
  background:color-mix(in srgb,#2ec27e 7%,transparent);
  border:1px solid color-mix(in srgb,#2ec27e 22%,transparent)}
.sold-final i{color:#2ec27e;font-size:13px;flex:0 0 auto}
.sold-final b{font-size:16px;font-weight:700;color:var(--ink)}
.sold-final small{font-size:12px;color:#9aa49e}

/* بازارِ محله — گزارشِ واقعیِ فایل‌های نزدیک (بدونِ حکم دربارهٔ خودِ ملک) */
.ai-mc-n{font-size:11.5px;font-weight:700;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 22%,transparent);
  border-radius:99px;padding:4px 11px}
.ai-mc-sold{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:9px;
  border-top:1px solid var(--brd-soft);font-size:11.5px;color:var(--muted)}
.ai-mc-sold i{color:#2ec27e;font-size:13px}

@media(max-width:560px){
  .ai-cf-l{flex:0 0 46%}
  .ai-range-v b{font-size:14.5px}
  .ai-mc-n{font-size:10.5px;padding:3px 9px}
}

/* ==========================================================================
   پرسشنامه‌ی «هوشِ تاج‌محل» (.aiw) + صفحه‌ی نتایج (.aim)
   لایه‌ها طبقِ سیستمِ سه‌لایه: فرم = کارت (panel-2)، فیلد/چیپ = panel
   ========================================================================== */
.aiw{margin:0 auto;padding:28px 26px;border-radius:22px;
  background:var(--panel-2);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd)}
/* ⚠️ .btn با display:inline-flex صفتِ hidden را بی‌اثر می‌کند — این قانون
   ضامنِ ویزارد است: هر چیزِ hidden (گام‌ها و دکمه‌های ناوبری) واقعاً پنهان شود */
.aiw [hidden]{display:none!important}

.aiw-progress{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.aiw-bar{flex:1;height:6px;border-radius:99px;background:var(--panel);border:1px solid var(--brd-soft);overflow:hidden}
.aiw-bar > span{display:block;height:100%;width:0;border-radius:99px;background:var(--gold);transition:width .4s var(--ease)}
.aiw-step-lbl{font-size:12px;color:var(--muted);white-space:nowrap}

.aiw-q{font-size:17px;font-weight:800;color:var(--ink);margin:0 0 16px}
.aiw-hint{font-size:12px;color:var(--muted);margin:15px 0 14px;line-height:2}

/* کارت‌های انتخابِ بزرگ */
.aiw-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.aiw-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 14px;
  border-radius:16px;background:var(--panel);border:1px solid var(--brd-soft);cursor:pointer;
  color:var(--ink);text-align:center;transition:.25s var(--ease)}
.aiw-card i{font-size:26px;color:var(--gold)}
.aiw-card b{font-size:14.5px}
.aiw-card small{font-size:11.5px;color:var(--muted);line-height:1.9}
.aiw-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.aiw-card.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}

/* چیپ‌ها */
.aiw-chips{display:flex;flex-wrap:wrap;gap:9px}
.aiw-chip{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border-radius:99px;
  background:var(--panel);border:1px solid var(--brd-soft);color:var(--ink);font-size:13px;
  cursor:pointer;transition:.22s var(--ease)}
.aiw-chip i{color:var(--gold);font-size:14px}
.aiw-chip:hover{border-color:var(--gold)}
.aiw-chip.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);font-weight:700}

/* فیلدها */
.aiw-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.aiw-field{position:relative}
.aiw-field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:7px}
.aiw-field label small{color:var(--faint)}
.aiw-input{width:100%;padding:12px 14px;border-radius:13px;font-size:14px;color:var(--ink);
  background:var(--panel);border:1px solid var(--brd-soft);outline:none;transition:.22s var(--ease)}
.aiw-input:focus{border-color:var(--gold)}
.aiw-input.ltr-num{direction:ltr;text-align:left}
.aiw-words{min-height:20px;margin-top:7px;font-size:12.5px;color:var(--gold);font-weight:700}

/* تایپ‌اِهدِ شهر */
.aiw-suggest{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:30;border-radius:14px;
  background:var(--menu-bg);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd);overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.aiw-sg{display:flex;align-items:center;gap:9px;width:100%;padding:11px 14px;background:none;
  border:0;color:var(--ink);font-size:13.5px;cursor:pointer;text-align:right}
.aiw-sg i{color:var(--gold)}
.aiw-sg small{color:var(--muted);margin-inline-start:auto}
.aiw-sg:hover{background:color-mix(in srgb,var(--gold) 10%,transparent)}

/* دکمه‌ی کمکیِ «رد کردنِ گام» — پیلِ شیشه‌ای با آیکون، نه لینکِ زیرخط‌دار */
.aiw-skip{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;
  border-radius:99px;background:var(--panel);border:1px dashed var(--brd);
  color:var(--muted);font-size:12.5px;cursor:pointer;transition:.22s var(--ease)}
.aiw-skip > i:first-child{color:var(--gold);font-size:14px}
.aiw-skip-go{font-size:13px;opacity:.55;transition:.22s var(--ease)}
.aiw-skip:hover{border-color:var(--gold);border-style:solid;color:var(--ink)}
.aiw-skip:hover .aiw-skip-go{opacity:1;transform:translateX(-3px);color:var(--gold)}

.aiw-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:26px;padding-top:20px;border-top:1px solid var(--brd-soft)}
.aiw-nav .btn{min-width:112px}
/* 🪤 `padding` بدونِ `!important` — با آن، قانونِ موبایلِ `.aiw-nav .btn`
   (کاهشِ فاصله‌ی عمودی به ۱۲ زیرِ ۵۶۰px) بی‌صدا خنثی می‌شد */
.aiw-back{background:var(--panel);border:1px solid var(--brd-soft);color:var(--ink);padding:13px 26px}
/* دکمه‌ی جلو/ارسال همیشه سمتِ چپِ ردیف (انتهای بصریِ RTL) */
#aiwSubmit,#aiwNext{margin-inline-start:auto}

/* ---- صفحه‌ی نتایج ---- */
.aim-tier{margin-bottom:34px}
.aim-tier-h{display:flex;align-items:center;gap:9px;font-size:16.5px;color:var(--ink);margin:0 0 16px}
.aim-tier-h i{color:var(--gold)}
.aim-tier-h small{font-size:11.5px;color:var(--muted);font-weight:400}
/* ⚠️ سرخطِ «بهترین هم‌خوانی» هم اکسنت می‌گیرد نه سبز: صفحه‌ی نتایج نباید دو
   خانواده‌ی رنگ داشته باشد. تمایزش با پررنگیِ متن است نه رنگِ دوم. */
.aim-top .aim-tier-h i{color:var(--gold)}

/* ---------- متایِ هم‌خوانی زیرِ کارتِ آگهی (اسلاتِ cardExtra) ----------
   ⚠️ ستونی است نه ردیفِ wrap-شونده: با دو یا سه دلیل، جمله‌ها وسطِ خط
   می‌شکستند و زیرِ کارت به‌هم‌ریخته می‌شد. حالا چیپِ درصد خطِ خودش را دارد و
   هر دلیل یک ردیفِ جدا با خطِ مویی.
   ⚠️ فقط **یک خانواده‌ی رنگ**: چیپ و آیکون‌ها اکسنت، متن خاکستری. تیکِ سبزِ
   قبلی کنارِ چیپِ اکسنت، نوار را دو‌رنگ نشان می‌داد.
   ⚠️ حاشیه‌ی منفی ندارد: این نوار فرزندِ مستقیمِ `.prop` است (نه داخلِ `.b`)،
   پس از قبل تمام‌عرض است. حاشیه‌ی منفیِ قبلی نوار را از لبه بیرون می‌بُرد و
   `overflow:hidden` پنهانش می‌کرد — کارِ درست را تصادفی انجام می‌داد. */
.prop > .aim-meta{flex:1 1 auto;display:flex;flex-direction:column;padding:0 18px 10px;
  border-top:1px solid var(--brd-soft);background:var(--panel);font-size:11.5px}
.aim-score{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;
  margin:12px 0 11px;padding:4px 11px;border-radius:99px;
  font-weight:800;font-size:12px;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 28%,transparent)}
.aim-why{display:flex;align-items:flex-start;gap:7px;padding:9px 0;
  border-top:1px solid var(--brd-soft);color:var(--muted);line-height:1.9}
.aim-why i{margin-top:3px;flex:0 0 auto;color:var(--gold);font-size:12px}

/* ⚠️ نوارِ متایِ «فرصتِ وسوسه‌انگیز» (.bg-meta/.bg-rank و انیمیشنِ درخشش)
   حذف شد. کارت‌های آن بخش حالا کارتِ معمولی‌اند و سرخطِ خودِ بخش توضیح
   می‌دهد بر چه اساسی انتخاب شده‌اند.
   🪤 کلاسِ .bg-note جدا و مالِ فرمِ ثبتِ ملک است (بالاتر در همین فایل) — با
   حذفِ این بلوک، override ناخواسته‌ای که رویش افتاده بود هم برداشته شد. */

.aim-empty{max-width:520px;margin:30px auto;padding:34px 26px;border-radius:20px;text-align:center}
.aim-empty i{font-size:38px;color:var(--gold)}
.aim-empty p{margin:14px 0 20px;line-height:2.2;color:var(--ink)}

.aim-note{margin-top:8px;font-size:11.5px;color:var(--muted);line-height:2.1}
.aim-note i{color:var(--gold)}

#aimIntro{transition:opacity .4s}
#aimIntro.aim-polished{animation:aimFade .6s var(--ease)}
@keyframes aimFade{from{opacity:.4}to{opacity:1}}

@media(max-width:560px){
  .aiw{padding:22px 16px 18px}
  .aiw-cards{grid-template-columns:1fr 1fr;gap:10px}
  .aiw-card{padding:16px 10px}
  .aiw-card small{display:none}
  .aiw-q{font-size:15.5px;margin-bottom:14px}
  .aiw-progress{margin-bottom:18px}
  /* موبایل: دکمه‌های ناوبری تمام‌عرض؛ دکمه‌ی ارسال سطرِ کاملِ خودش را می‌گیرد
     تا متنِ بلندش («بهترین‌ها را نشانم بده») هرگز از کادر نزند بیرون */
  .aiw-nav{margin-top:20px;padding-top:16px;flex-wrap:wrap}
  .aiw-nav .btn{flex:1;min-width:0;padding-block:12px}
  #aiwSubmit{flex:1 1 100%;order:3;white-space:nowrap}
  .aiw-skip{width:100%;justify-content:center}
}

/* دکمه‌ی «تغییرِ پاسخ‌ها» در سربرگِ نتایج — نچسبیده و بدونِ شکستنِ متن */
.aim-results .s-head{align-items:flex-start}
.aim-results .s-head .btn{flex:none;white-space:nowrap;margin-top:8px}
@media(max-width:900px){
  .aim-results .s-head .btn{position:static;margin-top:14px}
}

/* ==========================================================================
   «بازارِ این محله» (.nm) — نوارِ قیمت + نقشه
   جایگزینِ نمودارِ زمان. یک محور (قیمت) و یک سؤال: این ملک کجا ایستاده؟
   ========================================================================== */
.nm-lead{font-size:12.5px;line-height:2;color:var(--muted);margin:0 0 16px}
.nm-lead b{color:var(--ink)}

/* ── صفِ جعبه‌های قیمت ──
   قیمتِ هر مترِ مشابه‌ها از ارزان (راست) به گران (چپ)، هر کدام یک جعبه؛
   میانه علامت‌دار و «این آگهی» جعبه‌ی طلاییِ شاخص در جای خودِ صف. ساده و ملموس. */
.nm-scale{margin-bottom:14px}
/* ⚠️ اسکرولِ افقی: نوار باید بتواند از کانتینر پهن‌تر شود، وگرنه در محله‌های
   پرفایل جعبه‌های آخر بریده می‌شوند. پس `.nm-boxrow` عمداً `max-width` ندارد؛
   با `width:max-content` سرریز می‌کند و همین‌جا اسکرول می‌خورد. */
.nm-boxwrap{overflow-x:auto;overflow-y:visible;padding:26px 2px 10px;margin:0 -2px;
  scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 45%,transparent) transparent}
.nm-boxwrap::-webkit-scrollbar{height:6px}
.nm-boxwrap::-webkit-scrollbar-track{background:transparent}
.nm-boxwrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 40%,transparent);border-radius:99px}
/* ⚠️ صف عمداً LTR است: کاربر انتظار دارد ارزان‌ترین سمتِ چپ و گران‌ترین سمتِ
   راست باشد. DOM صعودی است، پس LTR یعنی چپ→راست = ارزان→گران، در همه‌ی آگهی‌ها
   یکسان. (در RTL برعکس می‌شد و جای «این آگهی» بسته به قیمت جابه‌جا می‌نمود.) */
.nm-boxrow{display:flex;direction:ltr;gap:8px;width:max-content;margin-inline:auto;align-items:stretch}
.nm-box{position:relative;direction:rtl;flex:0 0 auto;min-width:70px;padding:12px 12px 11px;border-radius:14px;
  background:var(--panel);border:1px solid var(--brd-soft);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.nm-box-v{font-size:17px;font-weight:800;color:var(--ink);white-space:nowrap;line-height:1.15}
.nm-box-v small{display:block;font-size:9px;font-weight:400;color:#9aa49e;margin-top:2px}
/* تگِ بالای جعبه (میانه / این آگهی) */
.nm-box-tag{position:absolute;top:-21px;inset-inline-start:50%;translate:50% 0;
  font-size:10px;font-weight:700;white-space:nowrap;color:var(--muted);display:inline-flex;align-items:center;gap:3px}
/* جعبه‌ی میانه */
.nm-box.is-med{border-color:color-mix(in srgb,var(--gold) 45%,transparent);
  background:color-mix(in srgb,var(--gold) 7%,transparent)}
/* جعبه‌ی «این آگهی» — طلایی، بزرگ‌تر و کمی بالاتر */
.nm-box.is-self{background:color-mix(in srgb,var(--gold) 14%,transparent);
  border:2px solid var(--gold);box-shadow:0 14px 40px -8px color-mix(in srgb,var(--gold) 32%,transparent);
  translate:0 -3px;min-width:78px}
.nm-box.is-self .nm-box-v{color:var(--gold);font-size:18px}
.nm-box-tag.self{color:var(--gold);font-weight:800}
/* چیپِ اختلاف با میانه، داخلِ جعبه‌ی خودِ ملک */
.nm-box-diff{margin-top:2px;font-size:10.5px;font-weight:700;white-space:nowrap;
  display:inline-flex;align-items:center;gap:1px}
.nm-box-diff i{font-size:15px;margin-inline:-3px}
.nm-box-diff.nm-low{color:#2ec27e}.nm-box-diff.nm-high{color:#e2554e}.nm-box-diff.nm-mid{color:var(--muted)}
/* فروخته‌شده */
.nm-box.is-sold{border-color:color-mix(in srgb,#2ec27e 32%,transparent)}
.nm-box-sold{font-size:9.5px;font-weight:700;color:#2ec27e;white-space:nowrap;display:inline-flex;align-items:center;gap:2px}
/* جعبه‌ی لینک‌دار — به صفحه‌ی همان آگهی می‌رود */
a.nm-box{text-decoration:none;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
a.nm-box:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--gold) 55%,transparent);
  box-shadow:0 12px 30px -10px color-mix(in srgb,var(--gold) 30%,transparent)}
a.nm-box:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* هم‌راستا با صف: ارزان‌ترین چپ، گران‌ترین راست */
.nm-ends{display:flex;direction:ltr;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--faint);margin-top:14px}
.nm-ends span{direction:rtl}
.nm-ends b{color:var(--muted)}
.nm-ends i{color:var(--gold)}

/* ── راهنمای «میانه» ── */
.nm-hint{margin-top:14px;font-size:11.5px}
.nm-hint>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;
  color:var(--gold);font-weight:700;user-select:none;padding:2px 0}
.nm-hint>summary::-webkit-details-marker{display:none}
.nm-hint-body{margin-top:8px;padding:11px 13px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd-soft)}
.nm-hint-body p{margin:0;line-height:2;color:var(--muted)}
.nm-hint-body p+p{margin-top:7px}
.nm-hint-eg b{color:var(--gold)}

/* ── نمودارِ تغییرِ قیمت در طولِ زمان ── */
.nm-tl-head{margin:20px 0 10px}
.nm-tl-head b{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink)}
.nm-tl-head b i{color:var(--gold)}
.nm-tl-head span{display:block;margin-top:4px;font-size:11.5px;color:var(--muted);line-height:1.9}
.nm-tl-range{display:inline-flex;margin-bottom:12px;border:1px solid var(--brd);border-radius:11px;
  overflow:hidden;background:var(--panel)}
.nm-tl-range button{appearance:none;border:0;background:transparent;color:var(--muted);
  font-size:11.5px;font-weight:700;padding:7px 14px;cursor:pointer;border-inline-start:1px solid var(--brd)}
.nm-tl-range button:first-child{border-inline-start:0}
.nm-tl-range button.on{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}
.nm-tl{position:relative;width:100%;border-radius:14px;border:1px solid var(--brd);background:var(--panel);padding:8px 6px}
/* لایه‌ی اسکرول‌شونده. direction:ltr چون محورِ زمان چپ‌به‌راست است و در RTL
   معنیِ scrollLeft وارونه می‌شد؛ ابعادِ SVG را JS به پیکسل می‌دهد (مقیاسِ ۱:۱). */
.nm-tl-plot{overflow-x:auto;overflow-y:hidden;direction:ltr;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.nm-tl-plot::-webkit-scrollbar{height:6px}
.nm-tl-plot::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 35%,transparent);border-radius:4px}
.nm-tl-plot::-webkit-scrollbar-track{background:transparent}
.nm-tl-svg{display:block;overflow:visible}
/* محورِ عمودیِ چسبان: با اسکرولِ افقی نمی‌رود تا مقیاسِ قیمت گم نشود */
.nm-tl-yaxis{position:absolute;z-index:2;pointer-events:none}
.nm-tl-yaxis[hidden]{display:none}
.nm-tl-svg .tl-ybg{fill:var(--panel)}
.nm-tl-svg .tl-yedge{stroke:var(--brd-soft);stroke-width:1}
/* هدفِ لمسیِ نامرئی — انگشت دقتِ ماوس را ندارد */
.nm-tl-svg .pt-hit{fill:transparent;stroke:none;cursor:pointer}
/* روی موبایل مقیاس ۱ است، پس فونتِ ۱۰ واقعاً ۱۰ پیکسل می‌شود و ریز است */
.nm-tl-svg.is-narrow .tl-yl,.nm-tl-svg.is-narrow .tl-xl,.nm-tl-svg.is-narrow .tl-medl{font-size:11.5px}
.nm-tl-swipe{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0 0;
  font-size:10.5px;color:var(--faint)}
.nm-tl-swipe[hidden]{display:none}
.nm-tl-swipe i{color:var(--gold)}
.nm-tl-svg .tl-grid{stroke:var(--brd-soft);stroke-width:1}
.nm-tl-svg .tl-med{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:5 5;opacity:.7}
.nm-tl-svg .tl-medl{fill:var(--gold);font-size:10px;text-anchor:end}
.nm-tl-svg .tl-line{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;opacity:.85}
.nm-tl-svg .tl-lbl{font-family:inherit}
.nm-tl-svg .tl-yl{fill:var(--faint);font-size:10px;text-anchor:end}
/* direction:ltr تا «۱۲/۱۴۰۵» (ماه/سال) در RTL برعکس نشود */
.nm-tl-svg .tl-xl{fill:var(--faint);font-size:10px;text-anchor:middle;direction:ltr}
/* رویداد مالِ دایره‌ی لمسی است، نه خودِ نقطه؛ پس هاور روی گروه سنجیده می‌شود */
.nm-tl-svg .pt{fill:color-mix(in srgb,var(--ink) 70%,transparent);stroke:var(--panel-2);stroke-width:2;
  pointer-events:none}
.nm-tl-svg.is-narrow .pt{stroke-width:2.5}
.nm-tl-svg .pt-g{cursor:pointer}
.nm-tl-svg .pt-g:hover .pt{stroke:var(--gold);stroke-width:3}
.nm-tl-svg .pt-sold{fill:#2ec27e}
.nm-tl-svg .pt-self{fill:var(--gold);stroke:#fff;stroke-width:2.5}
.nm-tl-note{display:flex;align-items:flex-start;gap:7px;margin:10px 0 0;font-size:11px;line-height:1.9;color:var(--faint)}
.nm-tl-note i{margin-top:3px;flex:0 0 auto;color:var(--gold)}
.nm-tl-note b{color:var(--muted)}
/* کارتِ کلیکِ نقطه‌های نمودارِ زمان — HTMLِ مستقل (نه لیفلت). جای‌گیریِ فیزیکیِ
   left/top با JS نسبت به کانتینرِ نمودار (inset-inline در RTL سمتِ غلط می‌رفت). */
.nm-tl-card{position:absolute;z-index:6;width:212px;max-width:74vw;padding:13px 14px 14px;
  background:var(--menu-bg);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd);border-radius:15px;box-shadow:0 16px 42px rgba(0,0,0,.34);
  animation:nmTlPop .14s ease-out}
@keyframes nmTlPop{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.nm-tl-card[hidden]{display:none}
/* فلشِ کوچکِ اشاره به نقطه (x از JS با متغیرِ --nm-tl-arrow) */
.nm-tl-card::after{content:"";position:absolute;top:100%;left:var(--nm-tl-arrow,50%);margin-left:-6px;
  border:6px solid transparent;border-top-color:var(--menu-bg)}
.nm-tl-card.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--menu-bg)}
.nm-tl-card-x{position:absolute;inset-inline-end:7px;top:6px;appearance:none;border:0;background:transparent;
  color:var(--faint);font-size:17px;line-height:1;cursor:pointer;padding:2px 5px;border-radius:7px}
.nm-tl-card-x:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}
.nm-tl-card-self{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:var(--gold);
  background:color-mix(in srgb,var(--gold) 15%,transparent);border-radius:999px;padding:2px 9px;margin-bottom:8px}
.nm-tl-card-date{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin-bottom:5px}
.nm-tl-card-date i{color:var(--gold);font-size:12px}
.nm-tl-card-ppm{font-size:20px;font-weight:800;color:var(--ink);line-height:1.15}
.nm-tl-card-ppm span{font-size:11px;font-weight:600;color:var(--faint)}
.nm-tl-card-row{font-size:11.5px;color:var(--muted);margin-top:6px}
.nm-tl-card-row b{color:var(--ink);font-weight:700}
.nm-tl-card-sold{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:11px;font-weight:700;
  color:#2ec27e;background:color-mix(in srgb,#2ec27e 13%,transparent);border-radius:8px;padding:3px 9px}
.nm-tl-card-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;
  padding:9px 10px;border-radius:11px;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;
  color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 42%,transparent);transition:background .15s}
.nm-tl-card-btn:hover{background:color-mix(in srgb,var(--gold) 24%,transparent)}
.nm-tl-card-btn i{font-size:13px}

/* ── جمله‌ی جایگاه ── */
.nm-headline{display:flex;align-items:flex-start;gap:7px;margin:0 0 14px;padding:11px 13px;
  border-radius:12px;font-size:12.5px;line-height:1.9;color:var(--ink);
  background:color-mix(in srgb,var(--gold) 8%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}
.nm-headline i{color:var(--gold);margin-top:3px;flex:0 0 auto}
.nm-headline.nm-low{background:color-mix(in srgb,#2ec27e 8%,transparent);border-color:color-mix(in srgb,#2ec27e 22%,transparent)}
.nm-headline.nm-low i{color:#2ec27e}
.nm-headline.nm-high{background:color-mix(in srgb,#e2554e 8%,transparent);border-color:color-mix(in srgb,#e2554e 22%,transparent)}
.nm-headline.nm-high i{color:#e2554e}

/* ── ترجمه به قیمتِ کل ── */
.nm-total{display:flex;align-items:flex-start;gap:8px;margin:0 0 18px;padding:12px 14px;
  border-radius:12px;font-size:12.5px;line-height:2;color:var(--muted);
  background:var(--panel);border:1px solid var(--brd-soft)}
.nm-total i{color:var(--gold);margin-top:4px;flex:0 0 auto}
.nm-total b{color:var(--ink)}

/* ── نقشه ── */
.nm-map-head{margin:26px 0 9px;padding-top:20px;border-top:1px solid var(--brd-soft)}
.nm-map-head b{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink)}
.nm-map-head b i{color:var(--gold)}
.nm-map-head span{display:block;margin-top:4px;font-size:11.5px;color:var(--muted)}
.nm-map{height:280px;border-radius:14px;overflow:hidden;border:1px solid var(--brd);background:var(--panel)}
/* نقاطِ نقشه روی کاشیِ شلوغ گم می‌شدند: سایه‌ی جداکننده + نبضِ ملایم تا واضح دیده شوند */
.nm-map path.nm-mkr{transform-box:fill-box;transform-origin:center;
  filter:drop-shadow(0 1px 2.5px rgba(0,0,0,.55));
  animation:nmMkrPulse 2.4s ease-in-out infinite}
.nm-map path.nm-mkr-self{animation-duration:1.6s}
@keyframes nmMkrPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}
@media(prefers-reduced-motion:reduce){.nm-map path.nm-mkr{animation:none}}
.nm-map-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:10.5px;color:var(--faint)}
.nm-map-legend span{display:inline-flex;align-items:center;gap:5px}
.nm-mk{width:11px;height:11px;border-radius:50%;flex:0 0 auto;border:1.5px solid transparent}
.nm-mk.low{background:#2ec27e}.nm-mk.mid{background:#9aa49e}
.nm-mk.high{background:#e2554e}.nm-mk.you{background:var(--gold);border-color:#fff}

.nm-pop{font-size:12px;line-height:1.9;min-width:140px}
.nm-pop-t{font-size:12px;font-weight:800;color:var(--ink);margin-bottom:5px;
  max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nm-pop b{color:var(--ink)}
.nm-pop small{color:var(--faint)}
.nm-pop-r{font-size:11.5px;color:var(--muted)}
.nm-pop-r.sold{color:#2ec27e}
.nm-pop-r.you{color:var(--gold);font-weight:700}
.nm-pop-a{display:inline-block;margin-top:6px;font-size:11.5px;font-weight:700;color:var(--gold)}

/* پاپ‌آپِ نقشه‌ی «بازارِ محله» — گلس، اسکوپ‌شده تا نقشه‌ی فرم دست‌نخورده بماند.
   ⚠️ فونت را صریح می‌دهیم چون leaflet روی .leaflet-container فونتِ خودش را می‌گذارد
   و inherit همان را برمی‌گرداند نه فونتِ سایت را.
   (قانون‌های .nm-tip با حذفِ تولتیپِ هاور برداشته شدند.) */
.leaflet-popup.nm-glass-pop .leaflet-popup-content-wrapper{
  background:var(--menu-bg);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);
  border:1px solid var(--brd);color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.28);
  font-family:iranyekan,system-ui,sans-serif;border-radius:13px}
.leaflet-popup.nm-glass-pop .leaflet-popup-tip{background:var(--menu-bg);border:1px solid var(--brd)}
.leaflet-popup.nm-glass-pop a.leaflet-popup-close-button{color:var(--muted)}

/* ==========================================================================
   امتیازِ کاربران به ملک (partials/property-rating) — نیم‌ستاره، داوریِ کاربران
   ⭐ ستاره‌ها RTLاند؛ نیم‌ستاره با scaleX(-1) آینه می‌شود تا نیمه‌ی راستش پر باشد.
   ========================================================================== */
.prate{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:14px;
  padding-top:13px;border-top:1px solid var(--brd-soft)}
.prate-avg{display:inline-flex;align-items:center;gap:7px;font-size:13px}
.prate-stars{display:inline-flex;gap:2px;color:var(--gold);font-size:16px;direction:rtl}
.prate-stars .bi-star-half{transform:scaleX(-1)}
.prate-num{color:var(--ink);font-weight:800;font-size:14.5px}
.prate-cnt{color:var(--muted);font-size:12px}
.prate-note{color:var(--muted);font-size:12.5px;display:inline-flex;align-items:center;gap:6px}
.prate-note i{color:var(--gold)}
/* 🪤 مارک‌آپ `<button>` است نه `<a>` — ورود مودالی است و صفحه‌ی GET ندارد، پس
   دکمه آیکونِ ورودِ هدر را می‌زند. انتخابگرِ قبلی `a.prate-login` بود و هیچ‌وقت
   نمی‌گرفت، برای همین کادرِ خاکستریِ پیش‌فرضِ مرورگر دیده می‌شد. */
.prate-login{padding:7px 13px;border-radius:11px;cursor:pointer;text-decoration:none;
  background:var(--panel);border:1px solid var(--brd-soft);
  transition:.18s var(--ease)}
.prate-login:hover{color:var(--gold);
  background:color-mix(in srgb,var(--gold) 10%,transparent);
  border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
.prate-login:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.prate-input{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}
.prate-label{font-size:12.5px;color:var(--muted)}
.prate-picker{display:inline-flex;gap:3px;direction:rtl}
.prate-star{position:relative;width:27px;height:27px;padding:0;border:0;background:none;cursor:pointer;
  display:grid;place-items:center;color:var(--gold);font-size:21px;line-height:1}
.prate-star .prate-bg{pointer-events:none;transition:transform .12s var(--ease)}
.prate-star .prate-bg.bi-star-half{transform:scaleX(-1)}
.prate-star:hover .prate-bg{transform:scale(1.14)}
.prate-star:hover .prate-bg.bi-star-half{transform:scaleX(-1) scale(1.14)}
/* دو نیمه‌ی نامرئیِ کلیک/هاور روی هر ستاره؛ در RTL: راست=نیم‌ستاره، چپ=تمام */
.prate-half{position:absolute;top:0;bottom:0;width:50%;z-index:2}
.prate-half-h{inset-inline-start:0}
.prate-half-f{inset-inline-end:0}
.prate-msg{font-size:11.5px;color:#2ec27e;min-height:1em}
.prate-msg.err{color:#e2554e}
@media(max-width:560px){ .prate{gap:8px 12px} .prate-label{width:100%} }

.nm-privacy{display:flex;align-items:flex-start;gap:6px;margin:9px 0 0;font-size:10.5px;
  line-height:1.9;color:var(--faint)}
.nm-privacy i{color:#2ec27e;margin-top:3px;flex:0 0 auto}

.nm-disc{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.9;color:var(--faint);
  margin:16px 0 0;padding-top:12px;border-top:1px solid var(--brd-soft)}
.nm-disc i{margin-top:3px;flex:0 0 auto}

@media(max-width:560px){
  .nm-box{min-width:62px;padding:10px 9px}
  .nm-box-v{font-size:15px}
  .nm-box.is-self{min-width:70px}
  .nm-box.is-self .nm-box-v{font-size:16px}
  .nm-map{height:230px}
  .nm-ends{font-size:10px}
}

/* ==========================================================================
   کارت‌های آکاردیونیِ صفحه‌ی آگهی (تحلیلِ هوشمند + ملک‌های مشابه)
   ⭐ <details>/<summary> بومی؛ سرِ کلیک‌پذیر، شورونِ چرخان، بازشونده.
   ========================================================================== */
.ai-acc,.cmp-acc,.nm-acc{padding:0;overflow:hidden}
.ai-acc-sum,.cmp-acc-sum,.nm-acc-sum{display:flex;align-items:center;gap:12px;cursor:pointer;
  list-style:none;padding:16px 18px;user-select:none}
.ai-acc-sum::-webkit-details-marker,.cmp-acc-sum::-webkit-details-marker,.nm-acc-sum::-webkit-details-marker{display:none}
.ai-acc-sum:hover .ai-acc-title,.cmp-acc-sum:hover .cmp-acc-title,.nm-acc-sum:hover .nm-acc-title{color:var(--gold)}

.ai-acc-title,.cmp-acc-title,.nm-acc-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--ink);transition:color .2s var(--ease)}
/* ستاره‌ی الگوریتمی حذف شد؛ عنوانِ کارتِ تحلیل شورون را به انتهای نوار هل می‌دهد */
.ai-acc-sum .ai-acc-title{margin-inline-end:auto}
.ai-acc-title i,.cmp-acc-title i,.nm-acc-title i{color:var(--gold)}

/* ستاره‌ی سرخط — همیشه دیده می‌شود، حتی وقتی آکاردیون بسته است */
.ai-acc-stars{display:inline-flex;align-items:center;gap:2px;margin-inline-start:auto;font-size:14px}
.ai-acc-stars i{color:var(--gold)}
/* ⚠️ ستاره‌ها در RTL از راست پر می‌شوند؛ نیم‌ستاره‌ی bootstrap نیمه‌ی چپش پر است
   و باید آینه شود تا نیمه‌ی راستش (سمتِ ستاره‌های پر) پر دیده شود. */
.ai-acc-stars .bi-star-half{transform:scaleX(-1)}
.ai-acc-stars.ai-fair i{color:var(--gold)}
.ai-acc-stars.ai-over i{color:#e2554e}
.ai-acc-stars.ai-good i{color:#2ec27e}
.ai-acc-stars b{margin-inline-start:5px;font-size:14px;color:var(--ink)}

.cmp-acc-n,.nm-acc-n{margin-inline-start:auto;font-size:11.5px;color:var(--muted);
  background:var(--panel);border:1px solid var(--brd-soft);border-radius:99px;padding:3px 11px}

.ai-acc-chev,.cmp-acc-chev,.nm-acc-chev{flex:0 0 auto;color:var(--muted);font-size:15px;transition:transform .28s var(--ease)}
.ai-acc[open] .ai-acc-chev,.cmp-acc[open] .cmp-acc-chev,.nm-acc[open] .nm-acc-chev{transform:rotate(180deg)}
/* وقتی ستاره هست، شورون فاصله‌ی کوچکی می‌گیرد (margin-auto مالِ ستاره است) */
.ai-acc-stars + .ai-acc-chev{margin-inline-start:10px}
/* شورون بعد از چیپِ شمارش هم فاصله می‌گیرد */
.cmp-acc-n + .cmp-acc-chev,.nm-acc-n + .nm-acc-chev{margin-inline-start:10px}

/* پشتیبانِ صریح: بعضی موتورها محتوای <details> بسته را پنهان نمی‌کنند.
   این قانون تضمین می‌کند بدنه فقط وقتی باز است دیده شود. */
.ai-acc:not([open]) .ai-acc-body,.cmp-acc:not([open]) .cmp-acc-body,.nm-acc:not([open]) .nm-acc-body{display:none}
.ai-acc-body,.cmp-acc-body,.nm-acc-body{padding:2px 18px 18px;border-top:1px solid var(--brd-soft);margin-top:2px}
.ai-acc-body,.nm-acc-body{animation:accFade .3s var(--ease)}
@keyframes accFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* اولین عنصرِ بدنه نباید به خطِ جداکننده بچسبد */
.ai-acc-body > :first-child,.cmp-acc-body > :first-child,.nm-acc-body > :first-child{margin-top:14px}

/* آکاردیونِ «امکانات و ویژگی‌ها» — همان الگوی مشترکِ بالا، بسته در حالتِ پیش‌فرض.
   بلوکِ خودبسنده تا هر تغییرش سه آکاردیونِ دیگر را به خطر نیندازد. */
.am-acc{padding:0;overflow:hidden}
.am-acc-sum{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:16px 18px;user-select:none}
.am-acc-sum::-webkit-details-marker{display:none}
.am-acc-sum:hover .am-acc-title{color:var(--gold)}
.am-acc-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--ink);transition:color .2s var(--ease)}
.am-acc-title i{color:var(--gold)}
.am-acc-n{margin-inline-start:auto;font-size:11.5px;color:var(--muted);background:var(--panel);
  border:1px solid var(--brd-soft);border-radius:99px;padding:3px 11px}
.am-acc-chev{flex:0 0 auto;color:var(--muted);font-size:15px;margin-inline-start:10px;transition:transform .28s var(--ease)}
.am-acc[open] .am-acc-chev{transform:rotate(180deg)}
.am-acc:not([open]) .am-acc-body{display:none}
.am-acc-body{padding:2px 18px 18px;border-top:1px solid var(--brd-soft);margin-top:2px;animation:accFade .3s var(--ease)}
.am-acc-body > :first-child{margin-top:14px}
@media(max-width:560px){.am-acc-sum{padding:14px 15px;gap:8px}.am-acc-title{font-size:14.5px}}

.cmp-scope{font-size:11.5px;line-height:1.9;color:var(--muted);margin:0 0 12px}

@media(max-width:560px){
  .ai-acc-sum,.cmp-acc-sum,.nm-acc-sum{padding:14px 15px;gap:8px}
  .ai-acc-title,.cmp-acc-title,.nm-acc-title{font-size:14.5px}
  .ai-acc-stars{font-size:12.5px}
  .ai-acc-body,.cmp-acc-body,.nm-acc-body{padding:2px 15px 15px}
}

/* ============ [n] احراز هویتِ مشاوران (verification) ============
   وضعیت + فرمِ آپلود + پنلِ بررسیِ ادمین. همه‌ی رنگ‌ها از توکن؛
   ⚠️ مدرکِ هویتی هیچ URL عمومی ندارد و از روتِ کنترل‌شده می‌آید. */
.vf-status{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-radius:15px;margin-bottom:14px;
  background:var(--panel-2);backdrop-filter:var(--glass);border:1px solid var(--brd)}
.vf-status i{font-size:20px;margin-top:2px;flex:0 0 auto;color:var(--gold)}
.vf-status b{display:block;font-size:13.5px;color:var(--ink)}
.vf-status small{display:block;margin-top:4px;font-size:11.5px;line-height:1.9;color:var(--muted)}
.vf-status.vf-approved i{color:#2ec27e}
.vf-status.vf-rejected i{color:#e2554e}

.vf-flash{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;margin-bottom:12px;font-size:12.5px}
.vf-flash.ok{color:#2ec27e;background:color-mix(in srgb,#2ec27e 12%,transparent);border:1px solid color-mix(in srgb,#2ec27e 30%,transparent)}
.vf-flash.err{color:#e2554e;background:color-mix(in srgb,#e2554e 12%,transparent);border:1px solid color-mix(in srgb,#e2554e 30%,transparent)}

.vf-form{padding:18px}
.vf-item{padding:14px 0;border-bottom:1px solid var(--brd-soft)}
.vf-item:last-of-type{border-bottom:0}
.vf-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.vf-item-head b{font-size:13px;color:var(--ink)}
.vf-have{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#2ec27e;text-decoration:none}
.vf-hint{margin:5px 0 9px;font-size:11.5px;line-height:1.9;color:var(--muted)}
.vf-limit{display:block;margin-top:7px;font-size:10.5px;color:var(--faint)}

/* آپلودِ فایل: ورودیِ بومی پنهان، برچسب نقشِ دکمه‌ی گلس را دارد.
   ⚠️ ورودی با opacity/position پنهان می‌شود نه display:none — با display:none
   بعضی مرورگرها فوکوسِ کیبورد و پیامِ اعتبارسنجی را از دست می‌دهند. */
.vf-file{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vf-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.vf-file-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;margin:0;
  padding:10px 16px;border-radius:12px;font-size:12.5px;font-weight:700;
  color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);
  transition:background .15s,border-color .15s}
.vf-file-btn:hover{background:color-mix(in srgb,var(--gold) 22%,transparent)}
.vf-file-btn i{font-size:14px}
/* حلقه‌ی فوکوس روی برچسب، چون ورودیِ واقعی نامرئی است */
.vf-file-input:focus-visible + .vf-file-btn{outline:2px solid var(--gold);outline-offset:2px}
.vf-file-name{font-size:11.5px;color:var(--faint);min-width:0;overflow-wrap:anywhere}
.vf-file.has-file .vf-file-name{color:#2ec27e;font-weight:700}

/* ورودیِ متنی — هم‌شکلِ فیلدهای فرمِ ملک ولی مستقل از .dashboard-section */
.vf-input{width:100%;max-width:280px;padding:11px 14px;border-radius:12px;font-size:13px;
  color:var(--ink);background:var(--panel);border:1px solid var(--brd);
  transition:border-color .15s}
.vf-input:focus{outline:0;border-color:var(--gold)}
.vf-input::placeholder{color:var(--faint)}
.vf-privacy{display:flex;align-items:flex-start;gap:7px;margin:14px 0;font-size:11px;line-height:1.9;color:var(--faint)}
.vf-privacy i{margin-top:3px;flex:0 0 auto;color:var(--gold)}

.vf-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.vf-tabs a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:11px;font-size:12px;
  text-decoration:none;color:var(--muted);background:var(--panel);border:1px solid var(--brd)}
.vf-tabs a.on{color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent);
  border-color:color-mix(in srgb,var(--gold) 40%,transparent)}
.vf-tabs a span{font-weight:700}

.vf-row{padding:16px;margin-bottom:12px}
.vf-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vf-row-head b{font-size:13.5px;color:var(--ink)}
.vf-row-head small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.vf-when{font-size:11px;color:var(--faint)}
.vf-docs{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
.vf-doc{flex:1 1 220px;min-width:0}
.vf-doc-t{display:block;margin-bottom:5px;font-size:11px;font-weight:700;color:var(--muted)}
.vf-doc img,.vf-doc video{width:100%;max-height:220px;object-fit:contain;border-radius:11px;
  background:var(--panel);border:1px solid var(--brd)}
.vf-nodoc{margin:10px 0;font-size:12px;color:var(--faint)}
/* جفتِ برچسب/شماره در کارتابلِ واسطگی — دو ستون که در موبایل زیرِ هم می‌روند */
.vf-pairs{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.vf-pair{flex:1 1 220px;min-width:0}
.vf-pair b{display:block;margin-bottom:4px;font-size:11px;font-weight:700;color:var(--muted)}
.vf-pair span{font-size:13px;color:var(--ink)}
.vf-pair a{margin-inline-start:6px;color:var(--gold);font-weight:600}
/* پاسخِ فیلدها و مدارکِ درخواستِ حقوقی در کارتابل */
.lgr-payload{display:flex;flex-direction:column;gap:1px;margin:12px 0;border-radius:12px;overflow:hidden;
  border:1px solid var(--brd-soft)}
.lgr-row{display:flex;gap:12px;padding:9px 13px;background:var(--panel);font-size:13px;line-height:1.9}
.lgr-row b{flex:0 0 40%;max-width:220px;color:var(--muted);font-weight:600}
.lgr-row span{flex:1;min-width:0;color:var(--ink);white-space:pre-line}
.lgr-docs{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.lgr-docgroup > b{display:block;margin-bottom:6px;font-size:11.5px;font-weight:700;color:var(--muted)}
.lgr-doclist{display:flex;flex-wrap:wrap;gap:8px}
.lgr-doc{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd);font-size:12.5px;color:var(--ink);transition:.2s var(--ease)}
.lgr-doc:hover{border-color:var(--gold)}
.lgr-doc i{color:var(--gold);font-size:15px}
.lgr-doc small{color:var(--faint);font-size:11px}
.lgr-doc.is-gone{color:var(--faint);border-style:dashed}
.lgr-doc.is-gone i{color:#d99a3c}
.vf-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:12px;border-top:1px solid var(--brd-soft)}
.vf-reject{display:flex;gap:8px;flex:1 1 260px}
.vf-reject input{flex:1;min-width:0;padding:9px 12px;border-radius:11px;font-size:12px;color:var(--ink);
  background:var(--panel);border:1px solid var(--brd)}
.vf-reject input:focus{outline:0;border-color:var(--gold)}

/* مدیریتِ حساب‌ها: جست‌وجو و فرمِ مسدودکردن */
.ua-search{display:flex;gap:8px;margin-bottom:14px}
.ua-search input{flex:1;min-width:0;padding:10px 13px;border-radius:12px;font-size:13px;color:var(--ink);
  background:var(--panel);border:1px solid var(--brd)}
.ua-search input:focus{outline:0;border-color:var(--gold)}
.ua-block{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 100%;align-items:center}
.ua-block select{padding:9px 12px;border-radius:11px;font-size:12px;color:var(--ink);
  background:var(--menu-bg);border:1px solid var(--brd)}
.ua-block input{flex:1 1 200px;min-width:0;padding:9px 12px;border-radius:11px;font-size:12px;color:var(--ink);
  background:var(--panel);border:1px solid var(--brd)}
.ua-block input:focus,.ua-block select:focus{outline:0;border-color:var(--gold)}

/* محدودکردن — عملِ سنگین‌تر، پس رنگِ هشدار می‌گیرد نه شیشه‌ی خنثی */
.vf-susp-row{margin-top:10px}
.vf-danger{color:#e2554e;border-color:color-mix(in srgb,#e2554e 40%,transparent)}
.vf-danger:hover{background:color-mix(in srgb,#e2554e 14%,transparent);border-color:#e2554e}
.vf-susp{display:inline-flex;align-items:center;gap:5px;color:#e2554e}

/* نشانِ وضعیت در سایدبار */
.side-badge.ok{background:#2ec27e;color:#fff}
.side-badge.wait{background:color-mix(in srgb,var(--gold) 70%,transparent);color:#fff}

/* ⭐ در پنل بَج شیشه‌ای است نه دایرهٔ توپر: نوارِ کناری خودش سطحِ شیشه‌ای
   است و لکه‌ی توپرِ طلایی رویش وصله می‌شد. حالا همان سه‌لایه‌ی همیشگی —
   تهٔ کم‌رنگ + قابِ هم‌رنگ + متنِ اکسنت. */
.apx .side-badge{font-weight:700;line-height:1;
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.apx .side-badge.wait{color:var(--gold);
  background:color-mix(in srgb,var(--gold) 18%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 45%,transparent)}
.apx .side-badge.ok{color:#2ec27e;
  background:color-mix(in srgb,#2ec27e 16%,transparent);
  border:1px solid color-mix(in srgb,#2ec27e 42%,transparent)}
/* آیتمِ فعال قابِ طلاییِ پُر دارد، پس بَجش باید روی آن هم خوانا بماند */
.apx .dash-side a.active .side-badge.wait{background:color-mix(in srgb,var(--gold) 26%,transparent)}

/* ============ نشانِ ثبت‌کننده‌ی آگهی (partials/seller-badge) ============
   «تأییدشده» فقط از verified_at می‌آید، نه از نقش. */
.sb{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;white-space:nowrap;
  font-size:11.5px;font-weight:800;line-height:1;padding:6px 12px;border-radius:999px;
  border:1px solid transparent;letter-spacing:-.1px}
.sb i{font-size:13px;flex:0 0 auto}
.sb-sm{font-size:10px;padding:4px 9px;gap:4px}
.sb-sm i{font-size:11px}

/* سه سطحِ رنگی، به‌ترتیبِ اعتبار — همه هم‌شکل (چیپِ کم‌رنگ با قابِ هم‌رنگ)
   تا فقط رنگ فرق کند و چشم سطح را از رنگ بخوانَد، نه از فرم:
     مالکِ ملک       خاکستری  (بی‌ادعا، بدونِ واسطه)
     مشاور آزاد      اکسنتِ سایت (--gold؛ در تمِ روشن فیروزه‌ای)
     مشاور املاکِ رسمی سبزِ روشن (بالاترین سطح: پروانه‌ی تأییدشده) */
.sb-owner{color:var(--muted);background:var(--panel);border-color:var(--brd)}

.sb-agent{color:var(--gold);
  background:color-mix(in srgb,var(--gold) 13%,transparent);
  border-color:color-mix(in srgb,var(--gold) 45%,transparent)}

.sb-official{color:#2ec27e;background:rgba(46,194,126,.13);border-color:rgba(46,194,126,.45)}

/* تأییدنشده: تودرتو نه، فقط خطِ کم‌رنگ — ادعای تأیید نمی‌کند */
.sb-pending{color:var(--muted);background:transparent;border-color:var(--brd);border-style:dashed}

/* ⚠️ نشانِ ثبت‌کننده از کارتِ آگهی برداشته شد (فقط یک آیکونِ بی‌متن دیده
   می‌شد و معنایش معلوم نبود)، پس قواعدِ `.prop .loc .sb-*` هم رفتند. */
.prop .loc{display:flex;align-items:center;gap:6px}
.prop .loc > span:first-child{display:inline-flex;align-items:center;gap:5px;min-width:0}

/* ============ پروفایلِ گویا (user-profile / settings) ============
   سنجه‌های محاسبه‌شده و راه‌های ارتباطی. رنگ‌ها از توکن.
   🔒 راهِ ارتباطیِ کاربرِ عادی پشتِ ContactVisibility است — این استایل‌ها فقط
   ظاهرند و هیچ گیتی را دور نمی‌زنند. */
/* گریدِ اصلی: کارتِ هویت (راست) + محتوا (چپ). در RTL فرزندِ اول سمتِ راست
   می‌نشیند، پس ترتیبِ DOM همان ترتیبِ دیداری است. */
/* ‏align-items پیش‌فرض (stretch) عمدی است: کارتِ هویت هم‌قدِ ستونِ کناری
   می‌شود، همان‌طور که در نمونه است — نه اینکه دورِ محتوایش جمع شود. */
.upx{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}

/* ---- ستونِ راست: کارتِ هویت ---- */
.upx-side{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 24px}
/* حلقه‌ی طلایی با فاصله: سایهٔ داخلیِ هم‌رنگِ کارت، بینِ آیکون و قابِ طلایی
   یک حلقه‌ی خالی می‌سازد — با border تنها این فاصله در نمی‌آمد. */
.upx-av{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;
  font-size:62px;color:var(--gold);background:var(--panel);
  border:3px solid color-mix(in srgb,var(--gold) 70%,transparent);
  box-shadow:inset 0 0 0 7px var(--panel-2)}
/* با عکسِ واقعی، قاب همان دایره می‌مانَد ولی سایهٔ داخلی برداشته می‌شود:
   آن سایه برای مرکزکردنِ آیکون بود و روی عکس نوارِ روشن می‌انداخت. */
.upx-av-photo{background-size:cover;background-position:center;box-shadow:none}
.upx-name{margin:18px 0 0;font-size:clamp(20px,2.2vw,26px);font-weight:800;letter-spacing:-.3px;line-height:1.5}
.upx-role{margin-top:9px}

/* جداکننده‌ی تزئینی با لوزیِ وسط */
.upx-orn{position:relative;align-self:stretch;height:1px;background:var(--brd-soft);margin:22px 0}
.upx-orn::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;
  transform:translate(-50%,-50%) rotate(45deg);background:var(--gold);border-radius:1px}

.upx-btns{align-self:stretch;display:flex;flex-direction:column;gap:12px}
.upx-b1{width:100%;justify-content:center;gap:8px;border-radius:999px;padding:14px 20px;font-size:14.5px}
.upx-b2{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:999px;padding:13px 20px;font-size:14.5px;font-weight:700;text-decoration:none;
  color:var(--gold);background:transparent;
  border:1.5px solid color-mix(in srgb,var(--gold) 55%,transparent);transition:.16s}
.upx-b2:hover{background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:var(--gold)}

/* آیکون‌های گردِ شبکه‌ها + برچسبِ زیرشان */
.upx-socials{align-self:stretch;display:flex;justify-content:center;flex-wrap:wrap;gap:16px}
.upx-socials a{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none}
.upx-sic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:19px;
  color:var(--gold);background:var(--panel);
  border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);transition:.16s}
.upx-socials a:hover .upx-sic{background:var(--gold);color:var(--gold-fg);border-color:transparent}
.upx-socials small{font-size:11px;font-weight:600;color:var(--muted)}

/* ---- ستونِ چپ ---- */
.upx-main{display:flex;flex-direction:column;gap:18px;min-width:0}

/* نوارِ سنجه‌ها. grid-auto-flow:column یعنی ستون‌ها با *تعدادِ واقعی* ساخته
   می‌شوند — سنجه‌ی بی‌داده حذف می‌شود و نوار باز هم پُر و مرتب می‌مانَد. */
.upx-kpis{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:20px 8px}
.upx-kpi{display:flex;flex-direction:column;align-items:center;gap:7px;padding:0 8px;min-width:0;
  border-inline-start:1px solid var(--brd-soft)}
.upx-kpi:first-child{border-inline-start:0}
.upx-kpi i{font-size:21px;color:var(--gold);line-height:1}
.upx-kpi small{font-size:12px;color:var(--muted);line-height:1.6}
.upx-kpi b{font-size:17px;font-weight:800;color:var(--ink);line-height:1.5;white-space:nowrap}

.upx-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.upx-card{padding:22px}
.upx-h{display:flex;align-items:center;gap:9px;margin:0 0 18px;font-size:15px;font-weight:800;color:var(--ink)}
.upx-h i{font-size:17px;color:var(--gold)}
.upx-sub{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:700;color:var(--muted)}
.upx-sub i{color:var(--gold)}
.upx-sub:not(:first-of-type){margin-top:20px}

.upx-chips{display:flex;flex-wrap:wrap;gap:9px}
.upx-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;
  font-size:12.5px;font-weight:700;color:var(--ink);background:transparent;
  border:1px solid color-mix(in srgb,var(--gold) 42%,transparent)}
.upx-chip i{font-size:14px;color:var(--gold)}
.upx-areas{margin:0;font-size:13px;line-height:2;color:var(--ink);overflow-wrap:anywhere;padding-right: 18px}

/* ردیف‌های تماس: آیکون سمتِ راست، خطِ عمودی، سپس مقدار */
.upx-crows{display:flex;flex-direction:column}
.upx-crow{display:flex;align-items:center;gap:16px;padding:14px 0;font-size:13px;
  border-top:1px solid var(--brd-soft)}
.upx-crow:first-child{border-top:0;padding-top:0}
.upx-ci{flex:0 0 auto;display:grid;place-items:center;width:34px;font-size:17px;color:var(--gold);
  align-self:stretch;border-inline-start:1px solid var(--brd-soft)}
.upx-crow a,.upx-crow span:not(.upx-ci){flex:1;min-width:0;color:var(--ink);line-height:2;
  text-decoration:none;overflow-wrap:anywhere}
.upx-crow a:hover{color:var(--gold)}

.upx-bio{margin:0;font-size:13.5px;line-height:2.3;color:var(--ink)}

/* سرِ فهرستِ آگهی‌ها، زیرِ کلِ پروفایل */
.upx-lh{display:flex;align-items:center;gap:9px;margin:30px 0 16px;font-size:16px;font-weight:800}
.upx-lh i{color:var(--gold)}

/* جای راهِ تماسِ پنهان‌شده */
.up-locked{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px 14px;border-radius:13px;
  text-align:start;font-size:11.5px;line-height:1.9;color:var(--muted);
  background:var(--panel);border:1px solid var(--brd-soft)}
.up-locked i{margin-top:3px;flex:0 0 auto;color:var(--gold)}
.up-since{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;color:var(--faint)}
.up-since i{color:var(--gold)}

/* ---- ریسپانسیو ---- */
@media (max-width:980px){
  .upx{grid-template-columns:1fr}
  .upx-side{padding:26px 20px}
  .upx-av{width:118px;height:118px;font-size:52px}
  /* در موبایل ستونِ هویت پهن است: دکمه‌ها و شبکه‌ها وسط ولی محدود بمانند */
  .upx-btns,.upx-socials{max-width:420px;margin-inline:auto}
}
@media (max-width:700px){
  /* خطِ عمودی در چیدمانِ چندسطری بی‌معنا می‌شود: کاشیِ مستقل جایش را می‌گیرد */
  .upx-kpis{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
  .upx-kpi{border-inline-start:0;padding:13px 8px;border-radius:14px;
    background:var(--panel);border:1px solid var(--brd-soft)}
  .upx-kpi:last-child:nth-child(odd){grid-column:1/-1}
  .upx-card{padding:18px}
  .upx-crow{gap:12px}
  .upx-socials{gap:12px}
  .upx-sic{width:44px;height:44px;font-size:17px}
}
@media (max-width:400px){
  .upx-socials{gap:9px}
  .upx-sic{width:40px;height:40px;font-size:16px}
  .upx-socials small{font-size:10px}
}

/* دراپ‌داونِ تنظیمات: .gsel تنها سطحِ کنترل است (داخلِ .fld نمی‌رود — دو لایه‌ی
   نیمه‌شفاف روی هم در تمِ تیره جعبه‌ی داخلی را روشن‌تر می‌کرد). ارتفاع و
   گوشه‌گردی با فیلدهای همسایه هم‌تراز می‌شود. */
.st-pane .st-f.gform .gsel{border-radius:14px}
.st-pane .st-f.gform .gsel-btn{padding:13px 15px;font-size:14px}
.st-pane .st-f.gform label i{color:var(--gold);margin-inline-end:4px}

/* چیپ‌های چندانتخابیِ تخصص در تنظیمات */
.st-chips{display:flex;flex-wrap:wrap;gap:8px}
.st-chip{cursor:pointer;margin:0}
.st-chip input{position:absolute;opacity:0;width:0;height:0}
.st-chip span{display:inline-flex;padding:8px 14px;border-radius:11px;font-size:12px;
  color:var(--muted);background:var(--panel);border:1px solid var(--brd);transition:all .15s}
.st-chip input:checked + span{color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent);
  border-color:color-mix(in srgb,var(--gold) 42%,transparent);font-weight:700}
.st-chip input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}

/*.bi{*/
/*    margin-top:5px;*/
/*}*/

/* ============================================================
   بازگردانیِ قانون‌های خنثی‌شده
   ============================================================
   🪤 این فایل ادغامِ چند استایل‌شیت است و ۵۹ انتخابگرِ سطحِ بالا دو بار
   تعریف شده‌اند. نسخه‌ی دوم چند صد خط **پایین‌تر** از بلوک‌های
   `@media` می‌نشیند، و چون مدیا کوئری به اختصاصی‌بودن چیزی اضافه نمی‌کند،
   با تساویِ وزن **نسخه‌ی دوم برنده می‌شود** — یعنی قانونِ موبایل بی‌صدا
   می‌میرد. نه خطایی می‌دهد نه در devtools خط می‌خورد؛ فقط اعمال نمی‌شود.

   قانون‌های زیر با جاروی کلِ فایل پیدا شدند (تطبیقِ مقدارِ اعلام‌شده با
   مقدارِ محاسبه‌شده در مرورگر، در هر بریک‌پوینت). به‌جای دستکاریِ نسخه‌ی
   تکراری — که ناشناخته‌ها را می‌شکند — همان مقادیر اینجا، بعد از همه‌ی
   نسخه‌های تکراری، دوباره اعلام می‌شوند.

   ⚠️ جایی که وزنِ برابر کافی نیست، انتخابگر یک پله سنگین‌تر شده و دلیلش
   کنارش نوشته است. */

@media(max-width:900px){
  /* برندِ هدر بریده می‌شد: از ۳۴۵ پیکسل، ۶۴ پدینگ + ۲۶ گپ + ۱۸۸ دکمه‌ها
     می‌رفت و برای برند ۶۷ می‌ماند در حالی که ۱۱۵ لازم دارد. */
  .nav-in{height:64px;padding:0 12px;gap:8px;justify-content:space-between;position:relative}
  .nav-act{order:1;gap:6px;flex:0 0 auto}

  /* 🪤 بدونِ این، بینِ ۷۶۱ تا ۹۰۰ پیکسل **هیچ ناوبری‌ای نبود**: منوی
     دسکتاپ به کشو تبدیل شده بود ولی دکمه‌ی همبرگری پنهان می‌ماند، پس
     راهی برای بازکردنش وجود نداشت. زیرِ ۷۶۰ بلوکِ دیگری نجاتش می‌داد و
     همین باعث شده بود باگ در تستِ موبایل دیده نشود. */
  .burger{display:grid}

  /* مگامنوی سه‌ستونه داخلِ کشوی ۳۵۱ پیکسلی هم سه‌ستونه می‌ماند */
  .nav-menu.wide{grid-template-columns:1fr;gap:0}
}

@media(max-width:600px){
  /* ⚠️ انتخابگر عمداً سنگین‌تر از `.site-footer-modern` است: قانونِ
     `.home-modern footer` (کلاس + عنصر) از آن اختصاصی‌تر بود و صرفِ
     پایین‌تر بودن کافی نمی‌شد. */
  .home-modern footer.site-footer-modern{padding:44px 0 24px;margin-top:60px}

  /* ⚠️ همین‌طور: `.foot .desc` هم‌وزن ولی پایین‌تر بود، پس یک کلاس اضافه شد */
  .site-footer-modern .foot .desc{max-width:none}
}


/* ============================================================
   دکمهٔ «برگشت به بالا» (`partials/to-top`)
   ============================================================
   روی همهٔ صفحه‌ها. سطحِ شیشه‌ایِ همیشگی، گوشهٔ پایانیِ صفحه (در RTL
   سمتِ چپ) تا جلوی محتوا نایستد.

   ⚠️ ارتفاعش از `--tt-lift` می‌آید نه عددِ ثابت: دو نوارِ شناورِ دیگر هم
   ته صفحه می‌نشینند (`.cbar` مقایسه و `.pd-mbar` نوارِ موبایلِ آگهی) و
   دکمه باید **بالای** آن‌ها بیاید، وگرنه رویشان می‌افتد و هر دو
   غیرقابلِ‌کلیک می‌شوند. همان الگوی موجودِ `body.has-cbar .pd-mbar`. */
.to-top{
  --tt-lift:22px;
  /* ⚠️ **زیرِ مودال‌ها (۲۰۰/۳۰۰) ولی بالای نوارهای چسبانِ پایین.**
     با z-index:90 نوارِ مقایسه (۹۵) دکمه را می‌پوشاند. */
  position:fixed;z-index:110;
  inset-inline-end:18px;
  bottom:calc(var(--tt-lift) + env(safe-area-inset-bottom));
  width:46px;height:46px;border-radius:15px;
  display:grid;place-items:center;cursor:pointer;
  font-size:20px;color:var(--ink);
  background:var(--panel-2);
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);
  box-shadow:0 8px 24px -12px rgba(0,0,0,.45);
  /* ⚠️ نه `display:none`: با شفافیت و transform گذارِ نرم می‌گیرد.
     🪤 `opacity:0` به‌تنهایی کافی نیست — دکمه همچنان با Tab قابلِ رسیدن
     می‌مانْد و کاربرِ صفحه‌کلید روی چیزی فوکوس می‌کرد که نمی‌بیند.
     `visibility:hidden` آن را از ترتیبِ فوکوس هم بیرون می‌برد و چون
     در فهرستِ transition است، گذار را نمی‌شکند. */
  opacity:0;visibility:hidden;transform:translateY(10px) scale(.9);pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease),
             visibility .22s var(--ease),
             color .18s var(--ease),border-color .18s var(--ease)
}
.to-top.show{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.to-top:hover{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}
.to-top:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.to-top:active{transform:scale(.93)}

/* نوارِ مقایسه ته صفحه است، پس دکمه بالاتر می‌رود */
body.has-cbar .to-top{--tt-lift:96px}

@media(max-width:1000px){
  .to-top{inset-inline-end:14px;width:44px;height:44px;font-size:18px}
  /* نوارِ موبایلِ صفحهٔ آگهی هم ته صفحه می‌نشیند. ⚠️ `:has` روی body
     است چون `.pd-mbar` فقط در همین بازه `display:flex` می‌شود. */
  body:has(.pd-mbar) .to-top{--tt-lift:82px}
  body.has-cbar:has(.pd-mbar) .to-top{--tt-lift:156px}
}

/* گذار برای کسی که حرکت را کم کرده خاموش می‌شود */
@media(prefers-reduced-motion:reduce){
  .to-top{transition:opacity .01s}
  .to-top:not(.show){transform:none}
}

/* ============================================================
   پنلِ مدیریت (/admin)
   ============================================================
   ⭐ **همه‌چیز زیرِ `.apx` است.** ریشه روی `<section class="dash apx">` در
   `admin/shell.blade.php` می‌نشیند. دلیلش تصادفی نیست: پنل کلاس‌های
   `.dash-*`، `.vf-*` و `.ua-*` را با **داشبوردِ کاربر** به اشتراک می‌گذارد،
   پس هر تغییرِ بی‌قید در آن‌ها بی‌صدا صفحه‌های احراز هویت و آگهیِ کاربر را
   هم عوض می‌کرد. با ریشه‌ی `.apx` پنل ظاهرِ خودش را دارد و داشبورد
   دست‌نخورده می‌مانَد.

   سیستمِ سه‌لایه‌ی همیشگی رعایت می‌شود: کانتینر `--panel-2` + بلور + `--brd`،
   فیلد/چیپ `--panel` با فوکوسِ `--gold`. هیچ رنگِ هاردکدی جز سه رنگِ
   وضعیت (سبزِ تأیید، کهربایی هشدار، قرمزِ حذف) که در کلِ پروژه یکسان‌اند.

   📏 **مقیاسِ فونت یک پله بالاتر از داشبورد است** و از توکن می‌آید نه عددِ
   پراکنده. پیش‌تر ۱۰٫۵ تا ۱۳٫۵ پیکسل بود که در صفحه‌ی پرمتنِ مدیریتی
   خواندنش خسته‌کننده بود؛ حالا ۱۲ تا ۱۵ با ارتفاعِ خطِ بازتر. */

.apx{
  --ap-f-xs:13px;      /* ریزترین: مُهرِ زمان، کد */
  --ap-f-sm:14.5px;    /* زیرنویس و توضیح */
  --ap-f-md:16px;      /* متنِ اصلیِ ردیف‌ها */
  --ap-f-lg:18px;      /* عنوانِ ردیف و کارت */
  --ap-f-xl:21px;      /* سرتیترِ بخش */
  --ap-f-2xl:27px;     /* عنوانِ صفحه */
  --ap-gap:18px;
  --ap-r:20px;         /* شعاعِ کارت‌های پنل — کمی جمع‌تر از `--r` سایت */
  --ap-r-sm:14px;
}

/* ⚠️ ورودی‌ها فونت را از بدنه ارث نمی‌برند (قانونِ سراسریِ فایل این را حل
   کرده) ولی **اندازه** را باید صریح گرفت، وگرنه هر فیلدِ تازه‌ای در پنل
   ۱۳px پیش‌فرضِ مرورگر می‌گیرد و وسطِ متنِ ۱۴٫۵ وصله می‌شود. */
.apx input,.apx select,.apx textarea,.apx button{font-family:inherit}

/* ============ چیدمانِ کلی ============ */
/* نوارِ کناری کمی باریک‌تر از داشبورد (۲۶۰ به‌جای ۳۰۰): پنل ۱۲ آیتم دارد و
   عرضِ کمترِ ستون یعنی فضای بیشتر برای جدول‌ها و کارت‌های محتوا. */
.apx .dash-grid{grid-template-columns:262px 1fr;gap:22px}

/* ============ نوارِ کناری ============ */
/* ⭐ **نوارِ کناری از اسکرولِ صفحه پیروی می‌کند، نه اسکرولِ خودش.**
   تصمیمِ مالکِ محصول: هر دو ستون با هم پایین بیایند.

   🪤 دو راهِ اشتباه که هر دو آزموده شدند:
   ۱) `sticky` بدونِ سقفِ ارتفاع — با ۱۳ بخش ستون از پنجره بلندتر می‌شد و
      `sticky` فقط **بالای** آن را پین می‌کرد، پس بخش‌های آخر تا وقتی کلِ
      ستونِ محتوا تا ته اسکرول نمی‌شد دیده نمی‌شدند.
   ۲) `sticky` + `max-height` + `overflow-y:auto` — نوار داخلِ خودش
      اسکرول می‌شد، یعنی صفحه **دو ناحیهٔ اسکرولِ جدا** پیدا می‌کرد و
      چرخِ ماوس بسته به اینکه نشانگر کجاست کارِ متفاوتی می‌کرد.

   `position:static` هر دو را حل می‌کند: ستون یک بلوکِ عادیِ گرید است و
   با اسکرولِ صفحه بالا و پایین می‌رود، دقیقاً هم‌زمان با ستونِ محتوا.
   ⚠️ حالتِ موبایل (نوارِ افقیِ چسبان) در مدیاکوئریِ پایین جدا تعریف شده
   و این قاعده رویش اثر ندارد. */
.apx .dash-side{position:static;padding:12px 10px;gap:2px;border-radius:var(--ap-r)}

/* سرِ نوار: هویتِ کاربرِ واردشده. بدونش کارمند و مالک صفحه‌ی یکسانی
   می‌دیدند و معلوم نبود چرا یکی بخش‌های کمتری دارد. */
.ap-side-id{display:flex;align-items:center;gap:10px;padding:5px 7px 12px;
  margin-bottom:7px;border-bottom:1px solid var(--brd-soft)}
.ap-side-av{flex:0 0 auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  font-size:19px;color:var(--gold);background:var(--panel);border:1px solid var(--brd-soft)}
.ap-side-tx{min-width:0}
.ap-side-tx b{display:block;font-size:var(--ap-f-md);font-weight:700;color:var(--ink);line-height:1.5;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-side-tx small{display:block;margin-top:2px;font-size:var(--ap-f-xs);color:var(--muted)}

.apx .dash-side a{gap:10px;padding:8px 11px;border-radius:12px;
  font-size:14px;font-weight:600;line-height:1.6}
/* آیکون در قابِ مربعِ هم‌اندازه می‌نشیند تا برچسب‌ها روی یک خطِ عمودی
   بیفتند. با آیکونِ لخت، پهنای هر گلیف فرق می‌کرد و ستون دندانه‌دار بود. */
.apx .dash-side a>i{flex:0 0 auto;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  font-size:15px;background:var(--panel);border:1px solid transparent;transition:.18s var(--ease)}
.apx .dash-side a:hover>i{color:var(--gold)}
.apx .dash-side a.active{font-weight:700}
.apx .dash-side a.active>i{color:var(--gold-fg);background:var(--gold);border-color:var(--gold)}

.apx .side-badge{font-size:var(--ap-f-xs);min-width:22px;height:22px}

/* پایِ نوار: راهِ برگشت. جدا از فهرست تا با بخش‌های پنل قاطی نشود. */
.ap-side-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--brd-soft)}
.ap-side-foot a{color:var(--muted)}

/* لینکِ ورودیِ پنل در نوارِ داشبوردِ کاربر (بیرونِ .apx است) */
.dash-side-admin{margin-top:6px;padding-top:12px!important;border-top:1px solid var(--brd-soft)}
.dash-side-admin i{color:var(--gold)}

/* ============ سرتیترِ صفحه ============
   ⚠️ جای `.dash-head`ِ تکراریِ چهارده بلید را گرفته. عنوان، زیرعنوان و
   دکمه‌های عمل حالا در **یک** جا تعریف می‌شوند (پوسته)، پس هر صفحه‌ی تازه‌ای
   خودبه‌خود همان سرتیتر را می‌گیرد و از بقیه واگرا نمی‌شود. */
.ap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:20px}
.ap-head-id{display:flex;align-items:center;gap:14px;min-width:0}
.ap-head-ic{flex:0 0 auto;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;
  font-size:23px;color:var(--gold);
  background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd)}
.ap-head-tx{min-width:0}
.ap-head-tx h1{font-size:var(--ap-f-2xl);font-weight:700;color:var(--ink);line-height:1.35;margin:0;
  letter-spacing:-.3px}
.ap-head-tx p{margin:4px 0 0;font-size:var(--ap-f-sm);color:var(--muted);line-height:1.8}
.ap-head-act{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ap-head-act .btn-sm-glass{width:auto;padding:10px 17px;font-size:var(--ap-f-sm)}
/* دکمهٔ برگشت فقط در موبایل — در دسکتاپ پایِ نوارِ کناری است.
   🪤 با `style="display:none"`ِ درون‌خطی، مدیاکوئری هرگز برنده نمی‌شد. */
.ap-m-back{display:none}

/* قیفِ مسیر کاربران — فقط داخل کنترل پنل */
.apx .ap-funnel-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}
.apx .ap-funnel-intro b{color:var(--ink);font-size:var(--ap-f-md)}
.apx .ap-funnel-intro p{margin:4px 0 0;color:var(--muted);font-size:var(--ap-f-sm);line-height:1.7}
.apx .ap-funnel-intro>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--gold);font-size:var(--ap-f-xs);font-weight:700}
.apx .ap-funnel-intro>span i{width:20px;height:20px;display:grid;place-items:center}
.apx .ap-funnel-range{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.apx .ap-funnel-range a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:12px;border:1px solid var(--brd);background:var(--panel);color:var(--ink);font-size:var(--ap-f-sm);font-weight:700;text-decoration:none;transition:border-color .2s,background .2s}
.apx .ap-funnel-range a:hover,.apx .ap-funnel-range a:focus-visible{border-color:var(--gold);outline:0}
.apx .ap-funnel-range a[aria-current="page"]{color:var(--gold);border-color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--panel-2))}
.apx .ap-funnel-period{margin:10px 1px 18px;color:var(--muted);font-size:var(--ap-f-xs)}
.apx .ap-funnel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.apx .ap-funnel-card{min-width:0;padding:20px}
.apx .ap-funnel-card-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--brd-soft)}
.apx .ap-funnel-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--brd));border-radius:15px;background:color-mix(in srgb,var(--gold) 10%,var(--panel));color:var(--gold);font-size:22px}
.apx .ap-funnel-card-head>div{min-width:0;flex:1}
.apx .ap-funnel-card-head h2{margin:0;color:var(--ink);font-size:var(--ap-f-lg);line-height:1.4}
.apx .ap-funnel-card-head small{display:block;color:var(--muted);font-size:var(--ap-f-xs)}
.apx .ap-funnel-card-head>strong{display:grid;justify-items:center;gap:2px;color:var(--gold);font-size:var(--ap-f-xl);line-height:1.2;white-space:nowrap}
.apx .ap-funnel-steps{display:grid;gap:15px;list-style:none;margin:18px 0;padding:0}
.apx .ap-funnel-steps li{min-width:0}
.apx .ap-funnel-step-line,.apx .ap-funnel-step-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.apx .ap-funnel-step-line{color:var(--ink);font-size:var(--ap-f-sm);font-weight:700}
.apx .ap-funnel-step-line b{font-size:var(--ap-f-md)}
.apx .ap-funnel-steps progress{display:block;width:100%;height:10px;margin:8px 0 5px;appearance:none;-webkit-appearance:none;overflow:hidden;border:1px solid var(--brd);border-radius:99px;background:var(--panel)}
.apx .ap-funnel-steps progress::-webkit-progress-bar{background:var(--panel)}
.apx .ap-funnel-steps progress::-webkit-progress-value{background:var(--gold);border-radius:99px}
.apx .ap-funnel-steps progress::-moz-progress-bar{background:var(--gold);border-radius:99px}
.apx .ap-funnel-step-foot{color:var(--muted);font-size:var(--ap-f-xs)}
.apx .ap-funnel-note,.apx .ap-funnel-privacy{color:var(--muted);font-size:var(--ap-f-xs);line-height:1.8}
.apx .ap-funnel-note{margin:15px 0 0;padding-top:12px;border-top:1px solid var(--brd-soft)}
.apx .ap-funnel-empty{margin:22px 0;color:var(--muted);font-size:var(--ap-f-sm);line-height:1.8}
.apx .ap-funnel-extra{display:flex;align-items:center;gap:12px;margin-top:14px;padding:16px 18px}
.apx .ap-funnel-extra>div{min-width:0;flex:1;display:grid;gap:3px}
.apx .ap-funnel-extra b{color:var(--ink);font-size:var(--ap-f-md)}
.apx .ap-funnel-extra small{color:var(--muted);font-size:var(--ap-f-xs)}
.apx .ap-funnel-extra>strong{color:var(--gold);font-size:var(--ap-f-xl)}
.apx .ap-funnel-privacy{margin:16px 1px 0}
@media(max-width:950px){.apx .ap-funnel-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .apx .ap-funnel-intro{align-items:flex-start;flex-direction:column}
  .apx .ap-funnel-intro>span{white-space:normal}
  .apx .ap-funnel-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .apx .ap-funnel-range a{padding-inline:5px;font-size:14px}
  .apx .ap-funnel-card{padding:16px}
  .apx .ap-funnel-card-head{gap:9px}
  .apx .ap-funnel-icon{width:42px;height:42px;flex-basis:42px;font-size:19px}
  .apx .ap-funnel-card-head>strong{font-size:var(--ap-f-lg)}
  .apx .ap-funnel-step-foot{flex-wrap:wrap}
}

/* سرتیترِ بخشِ داخلِ صفحه (مثلِ «افزودنِ کارشناس») */
.ap-sec{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin:30px 0 15px}
.ap-sec h2{display:flex;align-items:center;gap:9px;margin:0;
  font-size:var(--ap-f-xl);font-weight:700;color:var(--ink);line-height:1.5}
.ap-sec h2 i{color:var(--gold);font-size:19px}
.ap-sec .btn-sm-glass{width:auto;padding:9px 16px;font-size:var(--ap-f-sm)}

/* ============ نوارِ پیام ============ */
.apx .vf-flash{padding:13px 16px;border-radius:var(--ap-r-sm);font-size:var(--ap-f-md);margin-bottom:16px}
.apx .vf-flash i{font-size:17px}

/* ============ کارت‌های عددی ============ */
.ap-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.ap-card{display:flex;flex-direction:column;gap:6px;padding:18px 19px;border-radius:var(--ap-r);
  text-decoration:none;transition:.25s var(--ease)}
.ap-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}

/* ⭐ عدد و آیکون **روی یک خط**: آیکون سمتِ راست (شروعِ RTL)، عدد سمتِ چپ.
   پیش‌تر عدد زیرِ آیکون بود و چشم برای خواندنِ کارت دو بار بالا-پایین
   می‌رفت؛ حالا هر دو در یک نگاه خوانده می‌شوند. */
.ap-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.ap-card-ic{flex:0 0 auto;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  font-size:20px;color:var(--gold);background:var(--panel);border:1px solid var(--brd-soft)}
.ap-card-n{font-size:32px;font-weight:700;line-height:1.15;letter-spacing:-.5px}
/* عددِ صفر نباید مثلِ عددِ بزرگ جلبِ توجه کند: «کاری نمانده» خبرِ خوبی است
   و نباید مثلِ کارِ انباشته چشم را بگیرد. */
.ap-card:not(.has) .ap-card-n{color:var(--muted);opacity:.75}
.ap-card.has .ap-card-n{color:var(--gold)}
.ap-card-l{font-size:var(--ap-f-md);font-weight:700;color:var(--ink);line-height:1.6}
.ap-card-h{font-size:var(--ap-f-xs);color:var(--muted);line-height:1.85}

/* ============ حالتِ خالی ============ */
.ap-empty{display:flex;align-items:flex-start;gap:14px;padding:22px;border-radius:var(--ap-r)}
.ap-empty>i{font-size:23px;color:var(--gold);flex:0 0 auto;margin-top:2px}
.ap-empty b{display:block;font-size:var(--ap-f-lg);color:var(--ink);line-height:1.6}
.ap-empty small{display:block;margin-top:6px;font-size:var(--ap-f-sm);color:var(--muted);line-height:1.95}

/* «چیزی پیدا نشد» — پیامِ فهرستِ خالی */
.apx .dash-empty,.apx .grid-empty{padding:34px 20px;border-radius:var(--ap-r);text-align:center;
  font-size:var(--ap-f-md);color:var(--muted);line-height:1.9;
  background:var(--panel);border:1px dashed var(--brd)}

/* ============ فیدِ فعالیت (خانهٔ پنل) ============ */
.ap-feed{padding:4px 0;border-radius:var(--ap-r)}
.ap-feed-row{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;padding:13px 19px;
  font-size:var(--ap-f-sm);line-height:1.85}
.ap-feed-row+.ap-feed-row{border-top:1px solid var(--brd-soft)}
.ap-feed-who{font-weight:700;color:var(--ink)}
.ap-feed-what{color:var(--muted)}
.ap-feed-on{color:var(--gold);font-weight:600}
.ap-feed-when{margin-inline-start:auto;font-size:var(--ap-f-xs);color:var(--faint);white-space:nowrap}

/* ============ نوارِ توضیحی ============
   ⚠️ متن حتماً داخلِ یک <span> باشد: کانتینر فلکس است و <b>ِ وسطِ جمله
   آیتمِ جدا می‌شود و جمله تکه‌تکه می‌چیند (تله‌ی تکرارشونده‌ی پروژه —
   همان چیزی که یک بار زیرنویسِ نمودارِ بازار را شکست). */
.ap-note{display:flex;align-items:flex-start;gap:11px;padding:13px 16px;border-radius:var(--ap-r-sm);
  margin-bottom:15px;font-size:var(--ap-f-sm);line-height:2;color:var(--muted);
  background:var(--panel);border:1px solid var(--brd-soft)}
.ap-note>i{color:var(--gold);font-size:16px;flex:0 0 auto;margin-top:3px}
.ap-note>span{flex:1 1 auto;min-width:0}
.ap-note code{font-size:var(--ap-f-xs);direction:ltr;display:inline-block;
  background:var(--panel-2);border:1px solid var(--brd-soft);border-radius:7px;padding:2px 7px}
.ap-scan-state{margin-bottom:18px}
.ap-scan-state b{color:var(--ink);margin-inline-end:4px}
.ap-scan-state.is-ok{border-color:color-mix(in srgb,#4d9d7d 42%,var(--brd-soft));
  background:color-mix(in srgb,#4d9d7d 8%,var(--panel))}
.ap-scan-state.is-ok>i{color:#4d9d7d}
.ap-scan-state.is-warn{border-color:color-mix(in srgb,var(--gold) 48%,var(--brd-soft));
  background:color-mix(in srgb,var(--gold) 8%,var(--panel))}
.ap-scan-state.is-busy>i{color:var(--gold)}

/* ============ تب‌های فیلتر ============ */
.apx .vf-tabs{gap:9px;margin-bottom:16px}
.apx .vf-tabs a{padding:10px 16px;border-radius:var(--ap-r-sm);font-size:var(--ap-f-sm);font-weight:600;
  transition:.18s var(--ease)}
.apx .vf-tabs a:hover{color:var(--ink);border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}
.apx .vf-tabs a span{margin-inline-start:2px;font-size:var(--ap-f-xs);font-weight:700;
  padding:2px 7px;border-radius:99px;background:color-mix(in srgb,var(--gold) 20%,transparent)}

/* ============ جست‌وجو ============ */
.apx .ua-search{gap:9px;margin-bottom:16px}
.apx .ua-search input{padding:12px 15px;border-radius:var(--ap-r-sm);font-size:var(--ap-f-md)}
.apx .ua-search .btn-glass{padding:12px 20px!important;font-size:var(--ap-f-md);flex:0 0 auto}

/* ============ ردیفِ محتوا ============ */
.apx .vf-row{padding:18px 19px;margin-bottom:13px;border-radius:var(--ap-r)}
.apx .vf-row-head{gap:14px}
.apx .vf-row-head b{font-size:var(--ap-f-lg);line-height:1.6}
.apx .vf-row-head small{margin-top:5px;font-size:var(--ap-f-sm);line-height:1.85}
.apx .vf-when{font-size:var(--ap-f-xs);white-space:nowrap}
.apx .req-msg{margin:12px 0 0;padding:12px 15px;border-radius:var(--ap-r-sm);
  font-size:var(--ap-f-sm);line-height:2;color:var(--ink);
  background:var(--panel);border:1px solid var(--brd-soft)}
.apx .vf-pairs{gap:14px;margin:15px 0 0}
.apx .vf-pair b{font-size:var(--ap-f-xs)}
.apx .vf-pair span{font-size:var(--ap-f-md)}
.apx .vf-actions{gap:11px;padding-top:15px;margin-top:15px}
/* 🪤 فرمِ تصمیمِ صفحهٔ حقوقی از `.vf-actions` استفاده می‌کند که فقط یک
   فلکسِ ساده است — `select` و `input`ش هیچ استایلی نمی‌گرفتند و پیش‌فرضِ
   مرورگر می‌شدند (کادرِ سفیدِ وصله‌ای وسطِ سطحِ شیشه‌ای).
   ⚠️ `select` حتماً `--menu-bg` می‌گیرد نه `--panel`: فهرستِ بازشوندهٔ
   بومی روی سطحِ نیمه‌شفاف ناخوانا می‌شد. */
.apx .vf-actions select,
.apx .vf-actions input[type=text]{padding:11px 14px;border-radius:var(--ap-r-sm);
  font-family:inherit;font-size:var(--ap-f-md);color:var(--ink);
  border:1px solid var(--brd)}
.apx .vf-actions select{flex:0 0 auto;background:var(--menu-bg)}
.apx .vf-actions input[type=text]{flex:1 1 220px;min-width:0;background:var(--panel)}
.apx .vf-actions select:focus,.apx .vf-actions input[type=text]:focus{outline:0;border-color:var(--gold)}
/* دکمهٔ تأیید ته ردیف می‌نشیند (سمتِ چپ در RTL) تا از فیلدها جدا دیده شود */
.apx .vf-actions .btn-gold{margin-inline-start:auto;padding:11px 24px;font-size:var(--ap-f-md)}
.apx .vf-nodoc{font-size:var(--ap-f-sm);line-height:1.9}
.apx .lgr-row{font-size:var(--ap-f-sm);padding:11px 15px}
.apx .lgr-doc{font-size:var(--ap-f-sm);padding:10px 14px}

/* ============ چیپ ============ */
.ap-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ap-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--ap-f-xs);font-weight:600;
  padding:6px 12px;border-radius:99px;color:var(--muted);line-height:1.7;
  background:var(--panel);border:1px solid var(--brd-soft)}
/* دسترسیِ حساس (دادهٔ شخصی) کهربایی است نه قرمز — هشدار است نه خطا.
   همان قاعده‌ی «نکاتِ قابلِ توجه» در صفحه‌ی آگهی. */
.ap-chip.sens{color:#d99a3c;border-color:color-mix(in srgb,#d99a3c 35%,transparent);
  background:color-mix(in srgb,#d99a3c 10%,transparent)}
.ap-owner{color:var(--gold);font-weight:700}
.ap-owner-hint{margin-top:12px;font-size:var(--ap-f-sm);color:var(--faint);line-height:1.95}

/* ============ قالب‌های آمادهٔ دسترسی ============ */
.ap-presets{padding:19px;margin-bottom:15px;border-radius:var(--ap-r)}
.ap-presets-t{display:block;font-size:var(--ap-f-lg);font-weight:700;color:var(--ink);line-height:1.6}
.ap-presets-h{display:block;margin-top:5px;font-size:var(--ap-f-sm);color:var(--muted);line-height:1.85}
.ap-preset-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ap-preset{display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  padding:12px 17px;border-radius:var(--ap-r-sm);cursor:pointer;text-align:start;
  color:var(--ink);font-size:var(--ap-f-md);font-weight:700;line-height:1.6;
  background:var(--panel);border:1px solid var(--brd);transition:.2s var(--ease)}
.ap-preset:hover{border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}
.ap-preset.on{border-color:var(--gold);color:var(--gold);
  background:color-mix(in srgb,var(--gold) 12%,transparent)}
.ap-preset i{font-size:17px;color:var(--gold);margin-bottom:3px}
.ap-preset small{font-size:var(--ap-f-xs);font-weight:600;color:var(--muted)}
.ap-preset.clear i{color:var(--faint)}

.ap-title-card{padding:19px;margin-bottom:15px;border-radius:var(--ap-r)}
.ap-title-card label{display:block;font-size:var(--ap-f-md);font-weight:700;color:var(--ink);margin-bottom:9px}
.ap-title-card input{width:100%;padding:12px 15px;border-radius:var(--ap-r-sm);font-size:var(--ap-f-md);
  color:var(--ink);background:var(--panel);border:1px solid var(--brd)}
.ap-title-card input:focus{outline:0;border-color:var(--gold)}
.ap-title-card small{display:block;margin-top:8px;font-size:var(--ap-f-xs);color:var(--muted);line-height:1.85}

/* ============ ماتریسِ دسترسی ============ */
.ap-group{padding:19px;margin-bottom:13px;border-radius:var(--ap-r)}
.ap-group-t{display:flex;align-items:center;gap:9px;font-size:var(--ap-f-lg);font-weight:700;color:var(--ink)}
.ap-group-t i{color:var(--gold);font-size:18px}
.ap-perms{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;margin-top:15px}

/* چک‌باکسِ بومی پنهان می‌شود ولی **حذف نمی‌شود** — با صفحه‌کلید و
   صفحه‌خوان همچنان کار می‌کند و مقدارش submit می‌شود. */
.ap-perm{position:relative;display:flex;align-items:flex-start;gap:11px;padding:13px 15px;
  border-radius:var(--ap-r-sm);cursor:pointer;
  background:var(--panel);border:1px solid var(--brd-soft);transition:.18s var(--ease)}
.ap-perm:hover{border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.ap-perm input{position:absolute;opacity:0;width:0;height:0}
.ap-perm-box{flex:0 0 auto;width:21px;height:21px;border-radius:7px;margin-top:1px;
  display:grid;place-items:center;font-size:12px;color:transparent;
  background:transparent;border:1.5px solid var(--brd);transition:.18s var(--ease)}
.ap-perm input:checked+.ap-perm-box{background:var(--gold);border-color:var(--gold);color:var(--gold-fg)}
.ap-perm input:focus-visible+.ap-perm-box{outline:2px solid var(--gold);outline-offset:2px}
.ap-perm:has(input:checked){border-color:color-mix(in srgb,var(--gold) 45%,var(--brd));
  background:color-mix(in srgb,var(--gold) 7%,var(--panel))}
.ap-perm-tx{min-width:0}
.ap-perm-tx b{display:block;font-size:var(--ap-f-md);font-weight:700;color:var(--ink);line-height:1.65}
.ap-perm-tx b i{font-size:12px;color:#d99a3c;margin-inline-start:4px}
.ap-perm-tx small{display:block;margin-top:4px;font-size:var(--ap-f-xs);color:var(--muted);line-height:1.9}
.ap-perm.sens:has(input:checked){border-color:color-mix(in srgb,#d99a3c 45%,var(--brd));
  background:color-mix(in srgb,#d99a3c 8%,var(--panel))}
.ap-perm.sens input:checked+.ap-perm-box{background:#d99a3c;border-color:#d99a3c;color:#fff}

.ap-save{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px}
.ap-save small{font-size:var(--ap-f-sm);color:var(--muted);line-height:1.85}

/* ============ آگهی‌ها و گزارش‌ها ============ */
.ap-listing-in{display:flex;gap:16px;align-items:flex-start}
/* ⚠️ عرض تعیین می‌شود، **ارتفاع هرگز** — از نسبتِ ۴:۵ قابِ مبنا می‌آید
   (`.req-thumb`). سقفِ ارتفاع قاب را از ۴:۵ بیرون می‌بَرد و همان نوارهای
   بلورِ کناری را برمی‌گردانَد که یک بار از کلِ سایت حذف شدند. */
.ap-listing-in .req-thumb{flex:0 0 auto;width:82px;border-radius:var(--ap-r-sm)}
.ap-listing-body{flex:1;min-width:0}
.ap-listing-when{display:block;margin-top:10px;font-size:var(--ap-f-xs);color:var(--faint)}
.ap-warn{color:#d99a3c;font-weight:700}

.ap-status{flex:0 0 auto;font-size:var(--ap-f-xs);font-weight:700;padding:5px 13px;border-radius:99px;
  color:var(--muted);background:var(--panel);border:1px solid var(--brd-soft);white-space:nowrap}
.ap-status.active,.ap-status.rep-resolved{color:#2ec27e;
  border-color:color-mix(in srgb,#2ec27e 32%,transparent);background:color-mix(in srgb,#2ec27e 10%,transparent)}
.ap-status.inactive,.ap-status.rep-pending{color:#d99a3c;
  border-color:color-mix(in srgb,#d99a3c 32%,transparent);background:color-mix(in srgb,#d99a3c 10%,transparent)}
.ap-status.sold{color:var(--gold);
  border-color:color-mix(in srgb,var(--gold) 32%,transparent);background:color-mix(in srgb,var(--gold) 10%,transparent)}

/* فرمِ عملِ درون‌ردیفی (برداشتن، رسیدگی، حذف) */
.ap-mod{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:14px;
  padding-top:14px;border-top:1px solid var(--brd-soft)}
.ap-mod input[type=text],.ap-mod select{flex:1 1 210px;min-width:0;padding:11px 14px;
  border-radius:var(--ap-r-sm);font-size:var(--ap-f-md);color:var(--ink);
  background:var(--panel);border:1px solid var(--brd)}
.ap-mod select{background:var(--menu-bg)}
.ap-mod input[type=text]:focus,.ap-mod select:focus{outline:0;border-color:var(--gold)}
.ap-mod input::placeholder{color:var(--faint)}
.ap-mod button{flex:0 0 auto;width:auto;padding:11px 18px;font-size:var(--ap-f-sm)}
/* عملِ برداشتن قرمز است چون واقعاً چیزی را از دیدِ عمومی حذف می‌کند */
.ap-danger{color:#e2554e;border-color:color-mix(in srgb,#e2554e 35%,var(--brd))}
.ap-danger:hover{color:#e2554e;border-color:#e2554e;background:color-mix(in srgb,#e2554e 12%,transparent)}

.apx .ua-block{gap:9px}
.apx .ua-block select,.apx .ua-block input{padding:11px 14px;border-radius:var(--ap-r-sm);font-size:var(--ap-f-md)}
.apx .vf-reject input{padding:11px 14px;border-radius:var(--ap-r-sm);font-size:var(--ap-f-md)}

/* ============ ردیفِ گزارشِ فعالیت ============ */
.ap-act-when{flex:0 0 auto;font-size:var(--ap-f-xs);color:var(--faint);white-space:nowrap}
.ap-act-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;padding-top:13px;
  border-top:1px solid var(--brd-soft);font-size:var(--ap-f-xs);color:var(--faint)}
.ap-act-meta span{display:inline-flex;align-items:center;gap:6px}
.ap-act-meta i{font-size:13px}

/* ============ صفحه‌بندی ============ */
.apx .dash-pager{margin-top:18px}
.apx .dash-pager .btn-sm-glass{width:auto;padding:10px 18px;font-size:var(--ap-f-sm)}
.apx .pageinfo{font-size:var(--ap-f-sm)}

/* ============================================================
   نظارت بر تصاویر (/admin/media)
   ============================================================
   ⚠️ قابِ عکس نسبتِ ۴:۵ می‌گیرد (`.req-thumb`) — همان قابِ مبنای کلِ سایت.
   اینجا فقط عرضِ ستون تعیین می‌شود، **هرگز ارتفاع**. */
.md-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px}
.md-item{display:flex;flex-direction:column;gap:11px;padding:11px;border-radius:var(--ap-r);
  transition:.2s var(--ease)}
.md-item:hover{border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}
/* برداشته‌شده کم‌رنگ می‌شود ولی پنهان نه — ناظر باید ببیند چه چیزی حذف کرده */
.md-item.is-off{opacity:.62}
.md-thumb{display:block;width:100%;border-radius:var(--ap-r-sm);background-color:var(--panel);
  place-items:center;color:var(--faint);font-size:22px}
.md-body{display:flex;flex-direction:column;gap:7px;min-width:0}
.md-title{font-size:var(--ap-f-md);font-weight:700;color:var(--ink);line-height:1.65;
  overflow:hidden;text-overflow:ellipsis;text-decoration:none}
a.md-title:hover{color:var(--gold)}
.md-who{font-size:var(--ap-f-sm);color:var(--muted)}
.md-when{font-size:var(--ap-f-xs);color:var(--faint)}
.md-reason{font-size:var(--ap-f-xs);color:var(--muted);line-height:1.85}
.md-act{display:flex;gap:7px;margin-top:3px}
.md-act button{width:100%;justify-content:center;padding:9px 12px;font-size:var(--ap-f-sm)}
.md-rm{flex-direction:column}
.md-rm input{width:100%;padding:9px 12px;border-radius:11px;font-size:var(--ap-f-sm);
  color:var(--ink);background:var(--panel);border:1px solid var(--brd)}
.md-rm input:focus{outline:0;border-color:var(--gold)}

/* ============================================================
   سلامتِ فضا (/admin/storage)
   ============================================================
   🪤 پیشوندِ `sto-` عمدی است: `.st-*` از قبل مالِ صفحهٔ **تنظیماتِ کاربر**
   است و `.st-row`ِ آنجا `align-items:center` دارد. با نامِ یکسان، ردیف‌های
   این صفحه بی‌صدا وسط‌چین می‌شدند — بی‌هیچ خطایی.
   ============================================================ */
.sto-list{padding:3px 0;border-radius:var(--ap-r)}
.sto-row{padding:15px 19px;display:flex;flex-direction:column;gap:6px}
.sto-row+.sto-row{border-top:1px solid var(--brd-soft)}
.sto-row-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sto-row-h b{font-size:var(--ap-f-md);color:var(--ink);line-height:1.6}
.sto-row small{font-size:var(--ap-f-sm);color:var(--muted);line-height:1.95}
.sto-paths{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.sto-paths code,.sto-row code{font-size:var(--ap-f-xs);color:var(--faint);direction:ltr;text-align:left;
  background:var(--panel);border:1px solid var(--brd-soft);border-radius:8px;padding:4px 9px;
  align-self:flex-start;word-break:break-all}
.sto-user{flex-direction:row;align-items:center;gap:13px;flex-wrap:wrap}
.sto-user b{flex:0 0 auto;font-size:var(--ap-f-md)}
.sto-user span{font-size:var(--ap-f-sm);color:var(--muted)}
.sto-user .sto-size{margin-inline-start:auto;font-weight:700;color:var(--gold)}

/* ============================================================
   سلامت عملیات (/admin/operations)
   ============================================================ */
.apx .ops-pulse{position:relative;display:flex;align-items:center;gap:17px;padding:22px 24px;
  margin-bottom:16px;overflow:hidden;border:1px solid var(--brd);border-radius:var(--ap-r);
  background:var(--panel-2);box-shadow:0 16px 44px -34px rgba(0,0,0,.68)}
.apx .ops-pulse::after{content:"";position:absolute;inset-inline-start:0;top:18px;bottom:18px;width:3px;
  border-radius:3px;background:var(--muted)}
.apx .ops-pulse.is-healthy::after{background:#2ec27e}
.apx .ops-pulse.is-warning::after{background:#d99a3c}
.apx .ops-pulse.is-critical::after{background:#e56f6f}
.apx .ops-pulse-ic{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;
  font-size:26px;color:var(--gold);background:var(--panel);border:1px solid var(--brd)}
.apx .ops-pulse-copy{min-width:0;flex:1}
.apx .ops-pulse-copy small{display:block;margin-bottom:2px;font-size:var(--ap-f-xs);color:var(--muted)}
.apx .ops-pulse-copy h2{margin:0;font-size:var(--ap-f-xl);line-height:1.55;color:var(--ink)}
.apx .ops-pulse-copy p{margin:2px 0 0;font-size:var(--ap-f-sm);line-height:1.85;color:var(--muted)}

.apx .ops-state{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;
  padding:4px 11px;border-radius:999px;font-size:var(--ap-f-xs);font-weight:700;white-space:nowrap;
  color:var(--muted);background:var(--panel);border:1px solid var(--brd-soft)}
.apx .ops-state i{display:grid;place-items:center;width:15px;height:15px}
.apx .ops-state.is-healthy{color:#2ec27e;border-color:color-mix(in srgb,#2ec27e 34%,var(--brd-soft));
  background:color-mix(in srgb,#2ec27e 9%,var(--panel))}
.apx .ops-state.is-warning{color:#d99a3c;border-color:color-mix(in srgb,#d99a3c 38%,var(--brd-soft));
  background:color-mix(in srgb,#d99a3c 9%,var(--panel))}
.apx .ops-state.is-critical{color:#e56f6f;border-color:color-mix(in srgb,#e56f6f 38%,var(--brd-soft));
  background:color-mix(in srgb,#e56f6f 9%,var(--panel))}
.apx .ops-state.is-disabled{color:var(--faint);border-style:dashed}

.apx .ops-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}
.apx .ops-feature{min-width:0;padding:18px;border-radius:var(--ap-r-sm);border-color:var(--brd-soft)}
.apx .ops-feature-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.apx .ops-feature h3{margin:0;color:var(--ink);font-size:var(--ap-f-md);line-height:1.6}
.apx .ops-feature>p{margin:8px 0 0;color:var(--muted);font-size:var(--ap-f-sm);line-height:1.8}
.apx .ops-feature .ops-feature-note{padding:9px 11px;border:1px solid var(--brd-soft);border-radius:11px;background:var(--panel)}
.apx .ops-feature-form{display:flex;align-items:end;gap:10px;margin-top:14px;padding-top:13px;border-top:1px solid var(--brd-soft)}
.apx .ops-feature-form label{display:grid;gap:6px;flex:1;min-width:0;color:var(--muted);font-size:var(--ap-f-xs);font-weight:700}
.apx .ops-feature-form input{box-sizing:border-box;width:100%;min-height:44px;padding:8px 12px;color:var(--ink);font:inherit;background:var(--menu-bg);border:1px solid var(--brd);border-radius:11px}
.apx .ops-feature-form input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.apx .ops-feature-form button{width:auto;flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;white-space:nowrap}
.apx .ops-feature-form button i{width:18px;height:18px;display:grid;place-items:center}

.apx .ops-signals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.apx .ops-signal{min-width:0;padding:16px;border-radius:var(--ap-r-sm);border-color:var(--brd-soft)}
.apx .ops-signal.is-critical{border-color:color-mix(in srgb,#e56f6f 34%,var(--brd-soft))}
.apx .ops-signal.is-warning{border-color:color-mix(in srgb,#d99a3c 32%,var(--brd-soft))}
.apx .ops-signal-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}
.apx .ops-signal-ic{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:13px;font-size:18px;color:var(--gold);background:var(--panel);border:1px solid var(--brd-soft)}
.apx .ops-signal h3{margin:0 0 6px;font-size:var(--ap-f-md);line-height:1.6;color:var(--ink)}
.apx .ops-signal p{margin:0;font-size:var(--ap-f-xs);line-height:1.8;color:var(--muted)}
.apx .ops-signal p b{color:var(--ink);font-weight:600}

.apx .ops-queue-grid,.apx .ops-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.apx .ops-detail-grid{margin-top:14px}
.apx .ops-panel{min-width:0;padding:19px;border-radius:var(--ap-r)}
.apx .ops-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.apx .ops-panel-title{display:flex;align-items:center;gap:9px;min-width:0;font-size:var(--ap-f-md);
  font-weight:700;line-height:1.6;color:var(--ink)}
.apx .ops-panel-title i{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:11px;color:var(--gold);background:var(--panel);border:1px solid var(--brd-soft)}
.apx .ops-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.apx .ops-metrics>div{min-width:0;padding:11px 9px;text-align:center;border-radius:12px;
  background:var(--panel);border:1px solid var(--brd-soft)}
.apx .ops-metrics b{display:block;overflow-wrap:anywhere;font-size:var(--ap-f-md);line-height:1.5;color:var(--ink)}
.apx .ops-metrics span{display:block;margin-top:2px;font-size:var(--ap-f-xs);line-height:1.55;color:var(--muted)}
.apx .ops-metrics .is-danger b{color:#e56f6f}
.apx .ops-footnote{margin:13px 0 0;font-size:var(--ap-f-xs);line-height:1.85;color:var(--muted)}
.apx .ops-footnote b{color:var(--ink)}

.apx .ops-failed-row{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(180px,1.4fr) auto;
  align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--brd-soft)}
.apx .ops-failed-row:first-of-type{border-top:0}
.apx .ops-failed-row>div{display:flex;flex-direction:column;min-width:0}
.apx .ops-failed-row b{font-size:var(--ap-f-sm);color:var(--ink)}
.apx .ops-failed-row small,.apx .ops-failed-row time{font-size:var(--ap-f-xs);color:var(--muted)}
.apx .ops-failed-row code,.apx .ops-action code,.apx .ops-inline-warn code{max-width:100%;padding:4px 8px;
  overflow:auto;border-radius:8px;font-size:var(--ap-f-xs);color:var(--faint);background:var(--panel);
  border:1px solid var(--brd-soft)}
.apx .ops-failed-row time{white-space:nowrap}
.apx .ops-clear{display:flex;align-items:center;justify-content:center;gap:9px;min-height:96px;
  font-size:var(--ap-f-sm);color:var(--muted)}
.apx .ops-clear i{width:30px;height:30px;display:grid;place-items:center;color:#2ec27e;font-size:20px}
.apx .ops-clear.is-large{min-height:86px;font-size:var(--ap-f-md)}

.apx .ops-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.apx .ops-balance>div{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 8px;padding:14px;
  border-radius:13px;background:var(--panel);border:1px solid var(--brd-soft)}
.apx .ops-balance span{grid-column:1/-1;font-size:var(--ap-f-xs);color:var(--muted)}
.apx .ops-balance b{font-size:var(--ap-f-lg);line-height:1.4;color:var(--gold)}
.apx .ops-balance small{padding-bottom:3px;font-size:var(--ap-f-xs);color:var(--muted)}
.apx .ops-empty-copy,.apx .ops-big-line{margin:0;font-size:var(--ap-f-sm);line-height:2;color:var(--muted)}
.apx .ops-big-line b{color:var(--ink)}
.apx .ops-inline-warn{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:var(--ap-f-xs);
  line-height:1.8;color:#d99a3c}
.apx .ops-text-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:var(--ap-f-sm);
  font-weight:700;color:var(--gold);text-decoration:none}
.apx .ops-text-link i{width:20px;height:20px;display:grid;place-items:center}
.apx .ops-compact-lines{display:flex;flex-direction:column}
.apx .ops-compact-lines p{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:0;padding:10px 0;border-top:1px solid var(--brd-soft);font-size:var(--ap-f-sm)}
.apx .ops-compact-lines p:first-child{border-top:0}
.apx .ops-compact-lines span{color:var(--muted)}
.apx .ops-compact-lines b{color:var(--ink);text-align:left}

.apx .ops-actions{padding:5px 19px;border-radius:var(--ap-r)}
.apx .ops-action{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-top:1px solid var(--brd-soft)}
.apx .ops-action:first-child{border-top:0}
.apx .ops-action-ic{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:12px;color:var(--gold);background:var(--panel);border:1px solid var(--brd-soft)}
.apx .ops-action>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.apx .ops-action b{font-size:var(--ap-f-md);line-height:1.65;color:var(--ink)}
.apx .ops-action p{margin:0;font-size:var(--ap-f-sm);line-height:1.85;color:var(--muted)}
.apx .ops-action code{direction:ltr;text-align:left;white-space:normal;word-break:break-word}

@media(max-width:1100px){
  .apx .ops-signals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apx .ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .apx .ops-pulse{align-items:flex-start;flex-wrap:wrap;padding:18px}
  .apx .ops-pulse-ic{width:48px;height:48px;border-radius:15px;font-size:21px}
  .apx .ops-pulse-copy{flex-basis:calc(100% - 66px)}
  .apx .ops-pulse>.ops-state{margin-inline-start:66px}
  .apx .ops-signals,.apx .ops-queue-grid,.apx .ops-detail-grid{grid-template-columns:1fr}
  .apx .ops-feature-grid{grid-template-columns:1fr}
  .apx .ops-feature-form{align-items:stretch;flex-direction:column}
  .apx .ops-feature-form button{width:100%}
  .apx .ops-feature-form input{font-size:16px}
  .apx .ops-panel{padding:16px}
  .apx .ops-failed-row{grid-template-columns:1fr auto}
  .apx .ops-failed-row code{grid-column:1/-1;width:100%;box-sizing:border-box}
  .apx .ops-balance{grid-template-columns:1fr}
}

/* ============================================================
   تیمِ ما و امتیازها (/admin/team, /admin/ratings)
   ============================================================ */
.tm-form{display:flex;flex-direction:column;gap:14px}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}
.tm-grid label{display:flex;flex-direction:column;gap:6px;
  font-size:var(--ap-f-sm);font-weight:700;color:var(--muted)}
.tm-grid input{padding:11px 14px;border-radius:var(--ap-r-sm);font-size:var(--ap-f-md);
  color:var(--ink);background:var(--panel);border:1px solid var(--brd)}
.tm-grid input:focus{outline:0;border-color:var(--gold)}
.tm-grid input[type=file]{padding:7px;cursor:pointer}
.tm-grid input[type=file]::file-selector-button{
  margin-inline-end:10px;padding:8px 13px;border:1px solid var(--brd);
  border-radius:10px;background:var(--panel-2);color:var(--ink);
  font:inherit;font-weight:700;cursor:pointer;transition:.18s var(--ease)}
.tm-grid input[type=file]::file-selector-button:hover{border-color:var(--gold);color:var(--gold)}
.tm-photo-field small{font-size:var(--ap-f-xs);font-weight:500;color:var(--faint)}
.apx .tm-photo-field .gfile{min-height:58px;background:var(--panel-2)}
.apx .tm-photo-field .gfile-btn{min-height:44px;justify-content:center;font-size:var(--ap-f-sm)}
.apx .tm-photo-field .gfile-name{font-size:var(--ap-f-xs);text-align:start}
.tm-grid .tm-remove-photo{align-self:end;min-height:47px;flex-direction:row;align-items:center;
  padding:10px 12px;border:1px solid var(--brd-soft);border-radius:var(--ap-r-sm);
  background:var(--panel);cursor:pointer}
.tm-grid .tm-remove-photo input{width:18px;height:18px;margin:0;padding:0;accent-color:var(--gold)}
.tm-grid .tm-remove-photo span{color:var(--muted);font-size:var(--ap-f-sm)}
.tm-act{display:flex;align-items:center;gap:11px;flex-wrap:wrap;
  padding-top:14px;border-top:1px solid var(--brd-soft)}
.tm-act button{width:auto;padding:11px 20px}
.tm-toggle{margin-top:12px;padding-top:12px;border-top:1px solid var(--brd-soft)}
.tm-toggle button{width:auto;padding:10px 17px;font-size:var(--ap-f-sm)}

.rt-row .rt-score{flex:0 0 auto;font-size:var(--ap-f-lg);font-weight:700;color:var(--gold);
  display:inline-flex;align-items:center;gap:6px}
.rt-score i{font-size:14px}
.rt-score-side{display:flex;align-items:flex-end;gap:7px;flex-direction:column;flex:0 0 auto}
.rt-state{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 10px;
  border:1px solid var(--brd);border-radius:999px;background:var(--panel-2);
  color:var(--muted);font-size:var(--ap-f-xs);font-weight:700;line-height:1.4}
.rt-state.active{color:#2b8b62;border-color:color-mix(in srgb,#2b8b62 32%,var(--brd));
  background:color-mix(in srgb,#2b8b62 10%,var(--panel-2))}
.rt-state.removed{color:#c46f38;border-color:color-mix(in srgb,#c46f38 34%,var(--brd));
  background:color-mix(in srgb,#c46f38 10%,var(--panel-2))}
.rt-row.is-removed{border-color:color-mix(in srgb,#c46f38 24%,var(--brd));opacity:.92}
.rt-signals{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-top:12px}
.rt-signal{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:8px 11px;
  border:1px solid color-mix(in srgb,#c46f38 32%,var(--brd));border-radius:var(--ap-r-sm);
  background:color-mix(in srgb,#c46f38 8%,var(--panel-2));color:var(--ink)}
.rt-signal.medium{border-color:color-mix(in srgb,var(--gold) 36%,var(--brd));
  background:color-mix(in srgb,var(--gold) 8%,var(--panel-2))}
.rt-signal>i{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;
  color:#c46f38;font-size:14px;line-height:1}
.rt-signal.medium>i{color:var(--gold)}
.rt-signal>span{display:flex;flex-direction:column;min-width:0;line-height:1.55}
.rt-signal b{font-size:var(--ap-f-sm);font-weight:750}
.rt-signal small{font-size:var(--ap-f-xs);color:var(--muted)}
.rt-removed-info{margin-top:12px;padding:12px 14px;border:1px solid var(--brd-soft);
  border-radius:var(--ap-r-sm);background:var(--panel-2)}
.rt-removed-info b{font-size:var(--ap-f-sm);color:var(--ink)}
.rt-removed-info p{margin:5px 0 3px;color:var(--muted);font-size:var(--ap-f-sm);line-height:1.8}
.rt-removed-info small{color:var(--faint);font-size:var(--ap-f-xs)}
.rt-restore{justify-content:flex-end}

@media(max-width:600px){
  .rt-score-side{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}
  .rt-signals{display:grid;grid-template-columns:1fr}
  .rt-signal{width:100%}
  .rt-restore .btn-sm-glass{width:100%;justify-content:center}
}

/* فاصله‌های تکراری که پیش‌تر استایلِ درون‌خطی بودند — استایلِ درون‌خطی با
   نسخه‌ی بعدی واگرا می‌شود و در تمِ دیگر هم قابلِ بازتعریف نیست. */
.sto-more{margin-top:13px}
.ap-note-end{margin-top:20px;margin-bottom:0}
.apx .btn-gold.btn-sm{padding:11px 20px;font-size:var(--ap-f-sm)}

/* چیپِ آماری/وضعیتِ کنارِ عنوانِ صفحه — یک نگاه، بدونِ خواندنِ نوارِ متنی.
   پیش‌تر وضعیتِ ناظرِ خودکار یک پاراگرافِ کاملِ بالای صفحه بود و پیش از
   رسیدن به محتوا باید خوانده می‌شد. */
.ap-stat{display:inline-flex;align-items:center;gap:11px;padding:9px 15px;border-radius:var(--ap-r-sm);
  background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px solid var(--brd);cursor:default}
.ap-stat>i{font-size:19px;color:var(--gold);flex:0 0 auto}
.ap-stat-tx{display:flex;flex-direction:column;min-width:0}
.ap-stat-tx b{font-size:var(--ap-f-sm);font-weight:700;color:var(--ink);line-height:1.6;white-space:nowrap}
.ap-stat-tx small{font-size:var(--ap-f-xs);color:var(--muted);line-height:1.6;white-space:nowrap}
/* خاموش‌بودن کهربایی است نه قرمز: خرابی نیست، یک واقعیتِ پیکربندی است */
.ap-stat.off{border-color:color-mix(in srgb,#d99a3c 35%,var(--brd))}
.ap-stat.off>i{color:#d99a3c}



/* ============================================================
   عکسِ پروفایل — بلوکِ تنظیمات و مودالِ برش
   ============================================================
   بیرونِ `.apx` است چون در **تنظیماتِ کاربر** می‌نشیند نه در پنل. */
.av-edit{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px;
  padding-bottom:22px;border-bottom:1px solid var(--brd-soft)}
.av-edit-now{flex:0 0 auto;width:92px;height:92px;border-radius:50%;
  display:grid;place-items:center;font-size:36px;font-weight:700;line-height:1;
  color:hsl(var(--av-h,200) 55% 45%);
  background:hsl(var(--av-h,200) 55% 45% / .13);
  border:1px solid hsl(var(--av-h,200) 55% 45% / .30);
  background-size:cover;background-position:center;overflow:hidden}
html[data-theme="dark"] .av-edit-now{color:hsl(var(--av-h,200) 60% 72%);
  background:hsl(var(--av-h,200) 60% 72% / .12);
  border-color:hsl(var(--av-h,200) 60% 72% / .26)}
/* با عکسِ واقعی، فام معنایی ندارد و قاب خنثی می‌شود */
.av-edit-now:not([data-empty]){background-color:var(--panel);border-color:var(--brd)}
.av-edit-tx{flex:1 1 260px;min-width:0}
.av-edit-tx>b{display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.6}
.av-edit-tx>small{display:block;margin-top:4px;font-size:12.5px;color:var(--muted);line-height:1.9}
.av-edit-err{display:block;margin-top:8px}
.av-edit-act{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.av-edit-act form{margin:0}
/* ورودیِ بومی پنهان می‌شود ولی **حذف نمی‌شود** — با `display:none`
   بعضی مرورگرها فوکوسِ کیبورد و پیامِ اعتبارسنجی را از دست می‌دهند. */
.av-edit-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.av-edit-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;
  width:auto;padding:10px 18px;font-size:12.5px;margin:0}
.av-edit-input:focus-visible + .av-edit-btn{outline:2px solid var(--gold);outline-offset:2px}
.av-edit-rm{width:auto;padding:10px 18px;font-size:12.5px;
  color:#e2554e;border-color:color-mix(in srgb,#e2554e 35%,var(--brd))}
.av-edit-rm:hover{color:#e2554e;border-color:#e2554e;background:color-mix(in srgb,#e2554e 12%,transparent)}
.av-edit-hint{display:block;margin-top:10px;font-size:11.5px;color:var(--faint)}
/* سرتیترِ بخشِ بعدی پس از بلوکِ عکس فاصلهٔ بالا نمی‌خواهد (خط از قبل هست) */
.st-h-next{margin-top:0}

/* قابِ مربعِ مودالِ برش — همان نسبتی که آواتار می‌گیرد */
.av-crop-box{width:100%;aspect-ratio:1;background:var(--panel);overflow:hidden}
.av-crop-box img{display:block;max-width:100%}

@media(max-width:700px){
  .av-edit{gap:14px}
  .av-edit-now{width:76px;height:76px;font-size:30px}
  .av-edit-act{width:100%}
  .av-edit-act form,.av-edit-btn,.av-edit-rm{flex:1 1 auto;width:100%;justify-content:center}
}

/* ============================================================
   آواتارِ فهرست‌ها (`admin/_avatar.blade.php`)
   ============================================================
   ⚠️ جدولِ `users` ستونِ عکس ندارد، پس آواتارِ حرفی ساخته می‌شود: قابِ
   شیشه‌ای + حرفِ اولِ نام با فامِ قطعیِ مشتق از شناسه. کارِ آواتار
   **تفکیکِ افراد** است و با یک رنگِ واحد انجام نمی‌شود؛ به همین دلیل
   `--av-h` تنها جای پنل است که رنگ از توکن نمی‌آید. قاب و شفافیت
   همچنان از سیستمِ سه‌لایه‌اند. */
.av{flex:0 0 auto;width:46px;height:46px;border-radius:15px;
  display:grid;place-items:center;font-size:19px;font-weight:700;line-height:1;
  color:hsl(var(--av-h,200) 55% 45%);
  background:hsl(var(--av-h,200) 55% 45% / .13);
  border:1px solid hsl(var(--av-h,200) 55% 45% / .30);
  background-size:cover;background-position:center;overflow:hidden}
html[data-theme="dark"] .av{color:hsl(var(--av-h,200) 60% 72%);
  background:hsl(var(--av-h,200) 60% 72% / .12);
  border-color:hsl(var(--av-h,200) 60% 72% / .26)}
/* با عکسِ واقعی، فام معنایی ندارد و قاب خنثی می‌شود */
.av-photo{background-color:var(--panel);border-color:var(--brd)}
.av-sm{width:38px;height:38px;border-radius:12px;font-size:16px}
.av-lg{width:58px;height:58px;border-radius:18px;font-size:24px}

/* ============================================================
   ردیفِ فهرست (`.ap-row`) — حساب‌ها و کارمندان
   ============================================================
   یک ساختار برای هر دو: آواتار، هویت، وضعیت. پیش‌تر هرکدام مارک‌آپِ
   خودش را داشت و ستون‌ها با هم جور در نمی‌آمدند. */
.ap-row{padding:16px 18px;margin-bottom:12px;border-radius:var(--ap-r)}
.ap-row-top{display:flex;align-items:flex-start;gap:14px}
.ap-row-id{flex:1 1 auto;min-width:0}
.ap-row-id b{display:block;font-size:var(--ap-f-lg);font-weight:700;color:var(--ink);line-height:1.5}
.ap-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:5px;
  font-size:var(--ap-f-sm);color:var(--muted);line-height:1.7}
/* شماره در RTL باید LTR بماند وگرنه رقم‌ها جابه‌جا خوانده می‌شوند */
.ap-row-tel{color:var(--gold);font-weight:600;text-decoration:none;direction:ltr;unicode-bidi:isolate}
.ap-row-tel:hover{text-decoration:underline}
.ap-row-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ap-row-when{font-size:var(--ap-f-xs);color:var(--faint);white-space:nowrap}
.ap-row-btn{width:auto;padding:8px 15px;font-size:var(--ap-f-xs)}

/* دلیلِ مسدودی/محدودیت — نوارِ هشدارِ درونِ ردیف */
.ap-reason{display:flex;align-items:flex-start;gap:9px;margin:13px 0 0;padding:11px 14px;
  border-radius:var(--ap-r-sm);font-size:var(--ap-f-sm);line-height:1.9;
  color:#d99a3c;background:color-mix(in srgb,#d99a3c 9%,transparent);
  border:1px solid color-mix(in srgb,#d99a3c 26%,transparent)}
.ap-reason>i{flex:0 0 auto;margin-top:3px}

/* توضیحِ کوتاهِ درونِ کارت — جای جمله‌های بلندِ قبلی */
.ap-hint{display:flex;align-items:center;gap:8px;margin:12px 0 0;
  font-size:var(--ap-f-sm);color:var(--faint);line-height:1.85}
.ap-hint i{color:var(--muted)}

/* ============================================================
   عملِ جمع‌شونده (`.ap-act`) — فرمِ خطرناک پیش‌فرض بسته است
   ============================================================
   ⭐ «خارج‌کردن از دسترس» و «ویرایشِ کارشناس» فرم‌های چندفیلدی‌اند و
   بازبودنشان برای *هر* ردیف صفحه را به دیوارِ فیلد تبدیل می‌کرد. جمع‌شدن
   دو کار می‌کند: صفحه خوانا می‌شود، و عملِ برگشت‌ناپذیر یک کلیکِ عمدی
   می‌خواهد نه یک کلیکِ اتفاقی. */
.ap-act{margin-top:13px;padding-top:13px;border-top:1px solid var(--brd-soft)}
.ap-act>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;
  padding:9px 15px;border-radius:var(--ap-r-sm);width:auto;
  font-size:var(--ap-f-sm);font-weight:700;color:var(--muted);
  background:var(--panel);border:1px solid var(--brd);transition:.18s var(--ease)}
.ap-act>summary::-webkit-details-marker{display:none}
.ap-act>summary:hover{color:var(--ink);border-color:color-mix(in srgb,var(--gold) 40%,var(--brd))}
.ap-act[open]>summary{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--brd));
  background:color-mix(in srgb,var(--gold) 9%,transparent)}
.ap-act[open]>summary i{transform:rotate(0)}
/* فرمِ داخلِ آکاردیون خودش خطِ جداکننده لازم ندارد */
.ap-act .ap-mod{border-top:0;padding-top:0;margin-top:12px}

/* پنلِ ساده — کارتی که فقط یک فرم یا توضیح دارد */
.ap-panel{padding:19px;border-radius:var(--ap-r)}

/* نوارِ ابزار: تب‌ها و جست‌وجو کنارِ هم، نه دو بلوکِ پشتِ‌هم */
.ap-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:16px}
.ap-toolbar .vf-tabs{margin-bottom:0}
.ap-toolbar .ua-search{margin-bottom:0;flex:1 1 260px;max-width:420px}

/* ردیفِ نتیجهٔ جست‌وجوی «افزودنِ کارمند» */
.ap-find{display:flex;align-items:center;gap:13px;padding:13px 0}
.ap-find+.ap-find{border-top:1px solid var(--brd-soft)}
.ap-find .ap-row-id{flex:1 1 auto}

/* چیپِ «+ N مورد دیگر» — بقیهٔ دسترسی‌ها در tooltip */
.ap-chip-rest{cursor:help;border-style:dashed}

/* چیپِ شمارشِ کنارِ عنوانِ ردیف. 🪤 پیش‌تر فقط یک **عددِ لخت** داخلِ بیضی
   بود و از دیدِ کاربر معلوم نبود چه چیزی را می‌شمارد؛ حالا واحد کنارش
   می‌آید و شکلش هم‌وزنِ بقیهٔ چیپ‌های پنل است. */
.ap-count{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
  font-size:var(--ap-f-xs);font-weight:700;line-height:1.7;padding:6px 13px;border-radius:99px;
  color:var(--muted);background:var(--panel);border:1px solid var(--brd-soft);white-space:nowrap}
.ap-count b{font-weight:800;color:var(--ink)}
.ap-count.warn{color:#d99a3c;border-color:color-mix(in srgb,#d99a3c 32%,transparent);
  background:color-mix(in srgb,#d99a3c 10%,transparent)}
.ap-count.warn b{color:#d99a3c}

/* نمونهٔ مسیر — توضیحِ «این یعنی چه» با یک مثالِ واقعی */
.ap-example{display:block;margin-top:9px;padding:11px 13px;border-radius:var(--ap-r-sm);
  font-size:var(--ap-f-xs);line-height:2.1;color:var(--muted);
  background:var(--panel);border:1px solid var(--brd-soft)}
.ap-example code{display:inline-block;direction:ltr;text-align:left;font-size:var(--ap-f-xs);
  padding:2px 7px;border-radius:6px;background:var(--panel-2);border:1px solid var(--brd-soft)}
.ap-example .bad{color:#d99a3c}
.ap-example .good{color:#2ec27e}

/* ============================================================
   «نمایش بیشتر» (`admin-more.js`)
   ============================================================ */
.ap-more-bar{display:flex;align-items:center;justify-content:center;gap:13px;
  margin-top:6px;padding:14px 0}
.ap-more-btn{width:auto;padding:11px 22px;font-size:var(--ap-f-sm)}
.ap-more-count{font-size:var(--ap-f-xs);color:var(--faint)}
.ap-more-count.is-err{color:#d99a3c;font-weight:700}

/* حالتِ «در حالِ جست‌وجو» — فهرست کم‌رنگ می‌شود ولی جایش را نگه می‌دارد،
   وگرنه با هر حرف صفحه بالا-پایین می‌پرید. */
.ap-more.is-searching [data-more-list]{opacity:.45;transition:opacity .15s var(--ease)}
.ap-more.is-searching{cursor:progress}
/* دکمهٔ پاک‌کردنِ بومیِ `type=search` در وبکیت بدشکل است */
.apx input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* ============================================================
   تیمِ ما — کارتِ عکس‌دار
   ============================================================ */
.tm-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.tm-card{padding:17px 18px;border-radius:var(--ap-r)}
/* پنهان‌شده کم‌رنگ می‌شود ولی ناپدید نه — مدیر باید ببیند چه کسی پنهان است */
.tm-card.is-off{opacity:.62}
.tm-card-head{display:flex;align-items:center;gap:13px}
.tm-card-id{flex:1 1 auto;min-width:0}
.tm-card-id b{display:block;font-size:var(--ap-f-lg);font-weight:700;color:var(--ink);line-height:1.5}
.tm-card-id small{display:block;margin-top:3px;font-size:var(--ap-f-sm);color:var(--muted)}
.tm-card-act{margin-top:2px}
.tm-card .ap-chips{margin-top:13px}

/* ============================================================
   موبایل
   ============================================================
   ⚠️ نوارِ کناریِ داشبورد در موبایل `flex-wrap` می‌شود. برای داشبوردِ کاربر
   با ۵ آیتم قابلِ قبول است، ولی پنل **۱۲ آیتم** دارد و همان قانون یک
   بلوکِ چندردیفه‌ی درهم می‌ساخت که نیمِ صفحه را می‌خورد و کاربر باید از
   رویش رد می‌شد تا به محتوا برسد.

   جایگزین: **نوارِ افقیِ تک‌ردیفه با اسکرول و اسنپ**. همه‌ی بخش‌ها یک لمس
   فاصله دارند، هیچ‌کدام پنهان نیستند، و ارتفاع ثابت می‌مانَد.
   `admin-nav.js` آیتمِ فعال را در دید می‌آورد. */
@media(max-width:900px){
  .apx .dash-grid{grid-template-columns:1fr;gap:16px}

  .apx .dash-side{position:sticky;top:78px;z-index:20;
    flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
    gap:8px;padding:10px;border-radius:var(--ap-r-sm)}
  /* نوارِ اسکرولِ سفارشیِ سایت اینجا فضا می‌گیرد و نوار را بلند می‌کند */
  .apx .dash-side::-webkit-scrollbar{height:0}
  .apx .dash-side{scrollbar-width:none}

  .apx .dash-side a{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;
    padding:9px 14px 9px 11px;font-size:var(--ap-f-sm)}
  .apx .dash-side a>i{width:26px;height:26px;font-size:14px;border-radius:9px}
  .apx .side-badge{min-width:20px;height:20px;margin-inline-start:4px}

  /* هویتِ کاربر و لینکِ برگشت در نوارِ افقی جا نمی‌شوند و ترتیبِ اسکرول را
     به هم می‌ریزند — در موبایل به سرتیترِ صفحه منتقل می‌شوند. */
  .ap-side-id,.ap-side-foot{display:none}
  .ap-m-back{display:inline-flex}
}

@media(max-width:700px){
  .apx{--ap-f-2xl:21px;--ap-f-xl:17.5px}

  .ap-head{gap:13px;margin-bottom:17px}
  .ap-head-ic{width:44px;height:44px;font-size:20px;border-radius:14px}
  .ap-head-act{width:100%}
  .ap-head-act>*{flex:1 1 auto;justify-content:center}
  .ap-m-back{flex:0 0 auto}
  .ap-stat{justify-content:flex-start}
  .ap-stat-tx b,.ap-stat-tx small{white-space:normal}

  .ap-sec{margin:24px 0 13px}
  .ap-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px}
  .ap-card{padding:15px 16px}
  .ap-card-ic{width:38px;height:38px;font-size:17px}
  .ap-card-n{font-size:26px}

  .apx .vf-row{padding:16px}
  .ap-perms{grid-template-columns:1fr}
  .tm-grid{grid-template-columns:1fr}
  .md-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px}

  /* فرم‌ها: هر کنترل یک ردیفِ کامل — در عرضِ کم، فیلد و دکمه‌ی کنارِ هم
     هر دو غیرقابلِ استفاده می‌شوند. */
  .ap-mod input[type=text],.ap-mod select,.ap-mod button{flex:1 1 100%;width:100%;justify-content:center}
  .apx .ua-search{flex-direction:column}
  .apx .ua-search .btn-glass{width:100%}
  .apx .ua-block input,.apx .ua-block select,.apx .ua-block button{flex:1 1 100%;width:100%}
  .apx .vf-reject{flex-direction:column}
  .apx .vf-actions>form,.apx .vf-actions .btn,.apx .vf-actions .btn-sm-glass{width:100%;justify-content:center}
  .tm-act button{width:100%;justify-content:center}

  .sto-user{gap:8px}
  .sto-user .sto-size{margin-inline-start:0}

  /* ردیفِ فهرست در عرضِ کم: وضعیت زیرِ هویت می‌رود، نه کنارش */
  .ap-row-top{flex-wrap:wrap}
  .ap-row-side{flex-direction:row;align-items:center;flex-wrap:wrap;
    width:100%;justify-content:space-between;gap:8px}
  .ap-row-btn{width:auto}
  .ap-toolbar .ua-search{max-width:none}
  .ap-act>summary{width:100%;justify-content:center}
  .tm-grid-cards{grid-template-columns:1fr}
  .ap-find{flex-wrap:wrap}
  .ap-find>form,.ap-find .btn-sm-glass{width:100%;justify-content:center}
  .ap-listing-in{gap:12px}
  .ap-listing-in .req-thumb{width:68px}

  /* 🪤 زیرِ ۱۶px، سافاریِ iOS با فوکوسِ فیلد **کلِ صفحه را زوم می‌کند** و
     چیدمان به هم می‌ریزد؛ برگشتنش هم دستِ کاربر نیست. پس در موبایل همه‌ی
     ورودی‌های پنل دقیقاً ۱۶px می‌شوند. */
  .apx input,.apx select,.apx textarea{font-size:16px}
}

/* ============================================================
   برگشتِ مسیر در موبایل
   ============================================================ */
.route-back-bar{display:none}

@media(max-width:900px){
  .route-back-bar{display:flex;align-items:center;max-width:1320px;margin:10px auto 0;padding:0 15px}
  .route-back{min-height:44px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;
    border-radius:14px;color:var(--ink);font-size:14.5px;font-weight:700;text-decoration:none;
    box-shadow:0 8px 22px -16px rgba(0,0,0,.5);transition:transform .18s var(--ease),border-color .18s var(--ease)}
  .route-back i{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;
    color:var(--gold);background:var(--panel);border:1px solid var(--brd-soft)}
  .route-back:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 42%,var(--brd))}
  .route-back:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 55%,transparent);outline-offset:3px}

  /* هر صفحه در موبایل فقط یک راهِ برگشت دارد؛ نسخه‌های قدیمی تکرار نشوند. */
  .pd-back,.ap-m-back{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .route-back,.listing-video-play{transition:none}
}

/* پخش‌کنندهٔ مشترک آگهی: کارت‌ها فقط پوستر دارند و فایل پس از لمس بارگیری می‌شود. */
.listing-video-modal{z-index:450}
.listing-video-dialog{width:min(920px,100%);overflow:hidden;border-radius:24px}
.listing-video-heading{min-width:0}
.listing-video-heading>span{display:flex;align-items:center;gap:7px;color:var(--gold);font-size:12.5px;font-weight:700}
.listing-video-heading h2{margin:3px 0 0;font-size:20px;line-height:1.6;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.listing-video-stage{position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:#070b0d;overflow:hidden}
.listing-video-player{display:block;width:100%;height:100%;max-height:72dvh;object-fit:contain;background:#070b0d}
.listing-video-dialog.is-portrait .listing-video-stage{height:min(70dvh,720px);aspect-ratio:auto}
.listing-video-dialog.is-portrait .listing-video-player{width:min(100%,460px)}
.listing-video-error{position:absolute;inset-inline:20px;bottom:18px;margin:0;padding:10px 13px;border-radius:12px;
  color:#fff;background:rgba(190,53,49,.9);font-size:13px;text-align:center}
.listing-video-error[hidden]{display:none!important}
.listing-video-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;color:var(--muted);font-size:13px;
  background:var(--panel);border-top:1px solid var(--brd-soft)}
.listing-video-info>span{direction:ltr;font-variant-numeric:tabular-nums}
.listing-video-info small{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.listing-video-info i{color:var(--gold)}
@media(max-width:600px){
  .listing-video-modal{padding:8px;align-items:flex-end}
  .listing-video-dialog{width:100%;max-height:calc(100dvh - 8px);border-radius:22px 22px 12px 12px}
  .listing-video-dialog .gmodal-head{padding:14px 16px}
  .listing-video-heading h2{font-size:17px}
  .listing-video-stage{aspect-ratio:16/10}
  .listing-video-dialog.is-portrait .listing-video-stage{height:min(66dvh,590px)}
  .listing-video-info{padding:11px 14px calc(11px + env(safe-area-inset-bottom));flex-wrap:wrap}
  .listing-video-play:not(.is-compact){min-height:48px;font-size:12.5px}
}

/* Optional listing video, shared by the editor, public page and moderation. */
.pv-upload{margin-block:20px;padding:20px;border:1px solid var(--brd);border-radius:20px;background:var(--panel-2);backdrop-filter:var(--glass);min-width:0;overflow-wrap:anywhere}
.pv-upload h3,.pv-upload h2{font-size:20px;margin:0 0 12px}
.pv-upload h3 small{font-size:14px;color:var(--muted);font-weight:400}
.pv-upload p{font-size:16px;line-height:1.9;color:var(--muted);margin-block:12px}
.pv-player{display:block;width:100%;max-height:440px;margin-block:16px;border-radius:14px;background:#101318;object-fit:contain}
.pv-upload [hidden]{display:none!important}
.pv-file{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pv-upload:has(.pv-file:focus-visible) label[for="propertyVideoFile"]{outline:2px solid var(--gold);outline-offset:4px}
.pv-upload progress{display:block;width:100%;height:12px;accent-color:var(--gold);margin-top:18px}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.pv-grid .pv-upload{margin:0}
.pv-upload textarea{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:16px;color:var(--ink);background:var(--panel);border:1px solid var(--brd);border-radius:12px;padding:12px;margin-block:10px}
.pv-actions{display:flex;flex-wrap:wrap;gap:10px}
.pv-recovery{margin-top:18px;border-top:1px solid var(--brd);padding-top:12px;font-size:15px}
.pv-recovery summary{cursor:pointer;min-height:44px;align-content:center}
.pv-temp-row{padding-block:12px;border-bottom:1px solid var(--brd)}
.pv-temp-row>span{flex-basis:100%}
.pv-upload button,.pv-upload .btn-ghost{min-height:44px}
@media(max-width:600px){.pv-upload{padding:16px}.pv-player{max-height:300px}.pv-actions>*{flex:1}}

/* Native dialog keeps the video editor above cropper sheets without a global Back trap. */
.pve{box-sizing:border-box;width:min(940px,calc(100% - 24px));max-width:940px;max-height:calc(100dvh - 24px);padding:0;margin:auto;border:1px solid var(--brd);border-radius:24px;background:var(--menu-bg);color:var(--ink);box-shadow:0 28px 90px #0006;font:inherit;overflow:auto;overscroll-behavior:contain;direction:rtl}
.pve::backdrop{background:#081019b3;backdrop-filter:blur(8px)}
.pve[open]{display:block}.pve [hidden]{display:none!important}
.pve-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 0;gap:16px}
.pve-eyebrow{font-size:13px;color:var(--gold);letter-spacing:.02em}.pve h2{font-size:24px;margin:4px 0 0}.pve h3{font-size:17px;margin:0 0 14px}
.pve .pve-close{min-width:44px;font-size:28px;padding:0}.pve-intro{margin:12px 24px 20px;color:var(--muted);font-size:15px;line-height:1.9}
.pve-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;padding:0 24px}
.pve-stage{position:relative;min-width:0;height:360px;border:1px solid var(--brd);border-radius:18px;background:#0c1118;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pve-stage video{position:absolute;max-width:none;max-height:none;object-fit:contain;transform-origin:center;display:block}
.pve-orientation{position:absolute;bottom:12px;inset-inline-start:12px;background:#121820b3;color:#fff;border:1px solid #ffffff26;border-radius:20px;font-size:12px;padding:4px 10px}
.pve-controls{margin:0;padding:0;border:0;min-width:0}.pve-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.pve .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pve button{font:inherit;font-size:15px;min-height:44px;cursor:pointer}.pve button:disabled{opacity:.5;cursor:wait}.pve button:focus-visible,.pve input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pve button[aria-pressed=true]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent)}
.pve-trim,.pve-cover{padding:16px;border:1px solid var(--brd);border-radius:16px;background:var(--panel-2)}.pve-cover{margin-top:6px}
.pve-controls label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:16px}.pve output{color:var(--gold);font-variant-numeric:tabular-nums;direction:ltr}
.pve input[type=range]{display:block;box-sizing:border-box;width:100%;height:36px;margin:0 0 8px;accent-color:var(--gold);padding:0;border:0;background:transparent;touch-action:pan-y}
.pve-cover p,.pve-duration{font-size:14px;line-height:1.8;color:var(--muted);margin:4px 0 0}
.pve-foot{padding:16px 24px 22px;background:var(--menu-bg);border-top:1px solid var(--brd);margin-top:22px}.pve-foot p{font-size:14px;line-height:1.8;margin:0 0 12px}
.pve-foot progress{width:100%;height:10px;accent-color:var(--gold);margin-bottom:12px}.pve-actions{display:flex;gap:10px;justify-content:flex-start;flex-wrap:wrap}
@media(max-width:650px){.pve{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.pve-head{padding:16px 16px 0}.pve h2{font-size:21px}.pve-intro{margin:10px 16px 16px;font-size:14px}.pve-body{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 16px}.pve-stage{height:clamp(180px,30dvh,280px)}.pve-tools>*{flex:1;white-space:nowrap;padding:8px}.pve-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.pve-actions>*{flex:1;min-width:135px}.pve-controls label{font-size:16px}}
@media(max-height:500px) and (min-width:651px){.pve-stage{height:240px}.pve-intro{margin-bottom:12px}}

/* ============================================================
   Video experience v2 — uploader, editor and review queue
   ============================================================ */
.media-dropzone{position:relative;width:100%;min-height:150px;display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy action" "hint hint hint";
  align-items:center;gap:14px 18px;padding:24px!important;text-align:start!important;color:var(--ink)!important;
  background:var(--panel-2)!important;
  -webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);
  border:1px dashed color-mix(in srgb,var(--gold) 55%,var(--brd))!important;border-radius:22px!important;
  box-shadow:inset 0 1px 0 #fff1,0 16px 38px -32px #000b!important;cursor:pointer;
  transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}
.media-dropzone:hover,.media-dropzone.drag-over{transform:translateY(-2px);border-color:var(--gold)!important;
  background:var(--panel-2)!important}
.media-dropzone:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 58%,transparent);outline-offset:4px}
.media-dropzone-icon{grid-area:icon;width:56px;height:56px;margin:0!important;border-radius:18px;display:grid;place-items:center;
  color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,var(--panel));border:1px solid color-mix(in srgb,var(--gold) 35%,var(--brd))}
.media-dropzone-copy{grid-area:copy;display:grid;gap:6px;min-width:0}
.media-dropzone-copy strong{font-size:18px;line-height:1.5}.media-dropzone-copy small{font-size:14.5px;line-height:1.75;color:var(--muted)}
.media-dropzone-action{grid-area:action;min-height:46px;padding:0 18px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  color:var(--gold);font-size:15px;font-weight:700;background:var(--panel-2);
  border:1px solid color-mix(in srgb,var(--gold) 38%,var(--brd));box-shadow:inset 0 1px 0 #ffffff14;
  transition:border-color .2s var(--ease),background .2s var(--ease)}
.media-dropzone-action i{font-size:18px;line-height:1}
.media-dropzone:hover .media-dropzone-action,.media-dropzone:focus-visible .media-dropzone-action{border-color:var(--gold);background:var(--panel)}
.media-upload-limits{grid-area:hint;padding-top:13px;border-top:1px solid var(--brd-soft);font-size:13.5px;color:var(--muted)}

.property-media-status:empty{display:none}.property-media-status{margin:14px 0 0;padding:11px 14px;border-radius:13px;
  color:var(--ink);background:var(--panel-2);border:1px solid var(--brd);font-size:14.5px;line-height:1.7}
.pvm-summary{margin-top:14px;padding:15px;border:1px solid var(--brd);border-radius:18px;background:var(--panel-2);box-shadow:inset 0 1px 0 #fff1}
.pvm-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pvm-state,.pvm-security{min-height:30px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}
.pvm-state{color:#7ae3b2;background:#2dbf7b18;border:1px solid #50d79745}.pvm-security{color:var(--gold);background:color-mix(in srgb,var(--gold) 11%,transparent);border:1px solid color-mix(in srgb,var(--gold) 28%,var(--brd))}
.pvm-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0}
.pvm-meta>div{min-width:0;padding:11px 12px;border-radius:13px;background:var(--panel);border:1px solid var(--brd-soft)}
.pvm-meta dt{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}.pvm-meta dd{margin:5px 0 0;color:var(--ink);font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
.pvm-note{margin:12px 0 0!important;padding-top:10px;border-top:1px solid var(--brd-soft);font-size:13.5px!important}
.slot-video-duration{position:absolute;inset-inline-start:8px;bottom:8px;z-index:4;padding:3px 8px;border-radius:999px;
  color:#fff;background:#071018c7;border:1px solid #fff3;font-size:11px;font-weight:850;direction:ltr}
.pv-recovery{margin-top:14px;padding:0 14px;border:1px solid var(--brd)!important;border-radius:16px;background:var(--panel-2)}
.pv-recovery summary{display:flex;align-items:center;gap:9px;min-height:48px;font-weight:700;color:var(--ink)}
.pv-recovery summary i{color:var(--gold)}.pv-recovery>p{margin-top:0!important;font-size:13.5px!important}.pv-recovery>button{margin-bottom:14px}

/* Editor: clear hierarchy, large touch targets and native player controls. */
.pve{width:min(1040px,calc(100% - 28px));max-width:1040px;max-height:calc(100dvh - 28px);border-radius:26px;
  background:var(--menu-bg);
  border:1px solid color-mix(in srgb,var(--gold) 24%,var(--brd));box-shadow:0 32px 100px #02080dbd}
.pve::backdrop{background:#061018cc;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}
.pve-head{position:sticky;top:0;z-index:5;padding:18px 22px;background:color-mix(in srgb,var(--menu-bg) 89%,transparent);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--brd-soft)}
.pve-eyebrow{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800}.pve h2{font-size:23px;line-height:1.45;margin:3px 0 0}
.pve-icon-btn{width:46px!important;height:46px!important;padding:0!important;display:grid!important;place-items:center;border-radius:14px!important;
  color:var(--ink)!important;background:var(--panel-2)!important;border:1px solid var(--brd)!important}
.pve-icon-btn:hover{color:#ff9b9b!important;border-color:#e76e6e80!important;background:#e76e6e12!important}
.pve-intro{margin:14px 22px 18px;padding:11px 14px;border-radius:14px;background:color-mix(in srgb,var(--gold) 7%,var(--panel-2));border:1px solid var(--brd-soft);font-size:14px}
.pve-body{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:20px;padding:22px}
.pve-stage{height:420px;border-radius:20px;border-color:#ffffff21;background:radial-gradient(circle at 50% 40%,#1d2933,#080d12 68%);box-shadow:inset 0 0 0 1px #0008}
.pve-stage video{object-fit:contain!important}
.pve-orientation{bottom:14px;inset-inline-start:14px;padding:5px 11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pve-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:6px}
.pve-tool{min-width:0!important;min-height:76px!important;padding:10px 8px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  color:var(--ink)!important;background:var(--panel-2)!important;border:1px solid var(--brd)!important;border-radius:15px!important;font-weight:800}
.pve-tool i{font-size:21px;color:var(--gold)}.pve-tool:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 48%,var(--brd))!important}
.pve-tool[aria-pressed=true]{color:var(--ink)!important;background:color-mix(in srgb,var(--gold) 14%,var(--panel-2))!important;border-color:color-mix(in srgb,var(--gold) 60%,var(--brd))!important}
.pve-trim,.pve-cover{padding:15px;border-radius:16px;background:var(--panel-2);border-color:var(--brd-soft)}
.pve h3{display:flex;align-items:center;gap:8px;font-size:15.5px}.pve-controls label{font-size:14px;font-weight:750}.pve input[type=range]{height:40px;margin-bottom:6px}
.pve-foot{position:sticky;bottom:0;z-index:5;margin-top:20px;padding:14px 22px calc(16px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--menu-bg) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top-color:var(--brd)}
.pve-status{min-height:25px}.pve-foot progress{height:8px;border-radius:999px;overflow:hidden}.pve-actions{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,auto);gap:10px}
.pve-primary,.pve-secondary{min-height:50px!important;padding:0 18px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  border-radius:15px!important;font-size:15px!important;font-weight:700!important}
.pve-primary{color:var(--gold)!important;background:var(--panel-2)!important;border:1px solid var(--gold)!important;box-shadow:inset 0 1px 0 #ffffff14!important}
.pve-secondary{color:var(--ink)!important;background:var(--panel-2)!important;border:1px solid var(--brd)!important}
.pve-primary:not(:disabled):hover,.pve-secondary:not(:disabled):hover{transform:translateY(-1px)}

/* The installed editor lives in a disposable same-origin frame; vendor CSS cannot reach the form. */
.pve[open]{display:flex;flex-direction:column;overflow:hidden}
.pve .pve-head,.pve .pve-intro,.pve .pve-foot{flex-shrink:0;position:static}
.pve .pve-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding-bottom:4px}
.pve .pve-tools{position:static}
.pve .pve-foot{margin-top:0}
.pve-editor-mount{height:440px;min-width:0;overflow:hidden;border:1px solid var(--brd);border-radius:18px;background:var(--panel-2)}
.pve-editor-frame{display:block;width:100%;height:100%;border:0}
.pve-loading{padding:24px;color:var(--muted)}
.pve-range-readout{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.pve-range-readout>span{display:grid;gap:5px}.pve-range-readout output{font-size:18px}
.pve .pve-cover-current{min-height:44px!important;width:100%;margin-top:10px;font-size:14px!important}
html:has(>body.pve-document),body.pve-document{margin:0!important;padding:0!important;width:100%;height:100%;min-width:0;overflow:hidden!important;background:transparent!important}
.pve-document{font:15px/1.7 iranyekan,sans-serif;color:var(--ink)}
.pve-document #editor{height:100%;width:100%}
.pve-document .video-editor-wrapper{min-width:0;min-height:0;height:100%;padding:12px;background:transparent;
  --font-family:iranyekan,sans-serif;--highlight-saturation:var(--gold);--overall-color:var(--ink);
  --video-wrapper-bg:transparent;--container-bg:transparent;--info-bar-text-color:var(--muted);
  --marker-width:24px;--marker-border-size:3px;--range-selector-border-size:2px;
  --in-out-marker-grab-color:var(--menu-bg);--play-head-color:var(--ink);--control-btn-i:var(--gold)}
.pve-document .video-editor-container{display:grid;grid-template-rows:minmax(0,1fr) 48px 80px;gap:12px;justify-content:normal;overflow:visible}
.pve-document .video-flexbox-container{grid-row:1;min-height:0;max-height:none;height:100%;width:100%;border-radius:12px;overflow:hidden;background:#0c1118}
.pve-document .video-container,.pve-document .video-wrap{width:100%!important;height:100%;padding:0!important;overflow:hidden;background:transparent}
.pve-document .video-editor-container video{left:50%;top:50%;max-width:none;max-height:none;object-fit:contain;background:transparent;transform-origin:center}
.pve-document .crop-container,.pve-document .menu-bar-container,.pve-document .info-bar-container,.pve-document .timestamp{display:none!important}
.pve-document .video-editor-controls{grid-row:2;display:flex;align-items:center;justify-content:center;gap:12px;direction:ltr;margin:0;padding:0;max-height:none;height:48px}
/* Reset vendor padding and play/pause offsets so the icon stays at the box's center. */
.pve-document .video-editor-controls button{box-sizing:border-box;flex:0 0 46px;width:46px;height:46px;min-height:44px;margin:0;padding:0;border:1px solid var(--brd);border-radius:12px;
  background:var(--panel);color:var(--gold);box-shadow:none;cursor:pointer;display:grid;place-items:center;line-height:1}
.pve-document .video-editor-controls button svg{display:block;position:static;width:18px;height:18px;margin:0;padding:0;color:var(--gold)}
.pve-document .video-editor-controls button[aria-pressed=true]{border-color:var(--gold)}
.pve-document .timeline-container{grid-row:3;width:100%;height:80px;min-height:0;max-height:none;margin:0;padding:0 26px!important;direction:ltr}
.pve-document .timeline{width:100%!important;height:100%}
.pve-document .frames-container{width:100%;height:100%;overflow:hidden}
.pve-document .frame{flex:1;min-width:0;border:0}.pve-document .frame canvas{width:100%;height:100%;object-fit:cover}
.pve-document .range-selector-container::before,.pve-document .frames-container::after{pointer-events:none}
.pve-document .marker{box-shadow:none}
/* Upstream's extra 1px shifts the time read from each handle after a resize. */
.pve-document .in-marker{border-radius:9px 0 0 9px;margin-left:calc(var(--marker-width) * -1)}
.pve-document .out-marker{border-radius:0 9px 9px 0;margin-right:calc(var(--marker-width) * -1)}
.pve-document [role=slider]:focus-visible,.pve-document button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.pve-document .range-selector{touch-action:pan-y}
.pve-document .loader-container{color:var(--muted);font:inherit}
@media(max-width:650px){.pve-editor-mount{height:clamp(280px,40dvh,390px)}.pve-range-readout{font-size:14px}}

/* Shared listing-card gallery: native horizontal swipe, ordinary vertical page scroll. */
.card-gallery{position:absolute;inset:0;z-index:1;border-radius:inherit;overflow:hidden;direction:rtl}
.cg-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none}
.cg-track::-webkit-scrollbar{display:none}
.cg-slide{position:relative;flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always;background:var(--panel)}
.cg-slide img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.cg-slide img[hidden]{display:none}
.cg-link{position:absolute;inset:0;z-index:1}
.cg-empty{display:grid;place-items:center;width:100%;height:100%;color:var(--muted);font-size:32px}
.cg-slide.is-unavailable::before{content:"تصویر در دسترس نیست";position:absolute;inset:0;display:grid;place-items:center;
  padding:12px;text-align:center;color:var(--muted);font-size:13px}
.cg-arrow{position:absolute;z-index:6;top:50%;transform:translateY(-50%);display:grid;place-items:center;
  width:44px;height:44px;padding:0;border:1px solid #ffffff55;border-radius:14px;cursor:pointer;
  color:#fff;background:#152321b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:18px;line-height:1;
  transition:background .18s var(--ease),opacity .18s var(--ease)}
.cg-arrow i{display:grid;place-items:center;line-height:1}
.cg-arrow[hidden]{display:none}
.cg-prev{right:8px}.cg-next{left:8px}
.cg-arrow:disabled{opacity:.35;cursor:default}
.cg-arrow:not(:disabled):hover{background:#152321eb}
.cg-count{position:absolute;z-index:6;bottom:12px;left:50%;transform:translateX(-50%);direction:ltr;
  padding:4px 10px;border-radius:999px;border:1px solid #ffffff40;background:#152321b8;color:#fff;
  font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;pointer-events:none;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cg-track:focus-visible,.cg-arrow:focus-visible,.cg-link:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.card-gallery.is-dragging .cg-track{scroll-snap-type:none;cursor:grabbing;user-select:none}
.req-thumb:has(.card-gallery),.ap-listing-in .req-thumb:has(.card-gallery){width:104px;flex-shrink:0}
.card-gallery.is-compact .cg-arrow{top:auto;bottom:4px;transform:none;border-radius:11px;font-size:15px}
.card-gallery.is-compact .cg-prev{right:3px}.card-gallery.is-compact .cg-next{left:3px}
.card-gallery.is-compact .cg-count{top:6px;bottom:auto;padding:2px 7px;font-size:11px}
.card-gallery.is-compact .listing-video-play{top:44%}
@media(prefers-reduced-motion:reduce){.cg-arrow{transition:none}.cg-track{scroll-behavior:auto}}

/* Moderation queue: thumbnail-first decisions without auto-loading every video. */
.pvr-guide{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 17px;margin-bottom:16px;
  border:1px solid color-mix(in srgb,var(--gold) 26%,var(--brd));border-radius:var(--ap-r-sm);background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 9%,var(--panel-2)),var(--panel-2))}
.pvr-guide-ic{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--panel));font-size:19px}
.pvr-guide h2{margin:0;font-size:var(--ap-f-lg)}.pvr-guide p{margin:3px 0 0;color:var(--muted);font-size:var(--ap-f-sm)}
.pvr-keys{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.pvr-keys span{font-size:12.5px;color:var(--muted);white-space:nowrap}
.pvr-keys kbd{min-width:25px;height:25px;padding:0 6px;display:inline-grid;place-items:center;border-radius:7px;color:var(--ink);background:var(--panel);border:1px solid var(--brd);box-shadow:inset 0 -2px 0 #0003;font:700 12px/1 inherit}
.pvr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,410px),1fr));gap:17px}
.pvr-card{min-width:0;overflow:hidden;border:1px solid var(--brd);border-radius:20px;background:var(--panel-2);box-shadow:0 17px 40px -34px #000;
  transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}
.pvr-card:hover,.pvr-card.is-current,.pvr-card:focus-visible{border-color:color-mix(in srgb,var(--gold) 55%,var(--brd));box-shadow:0 20px 46px -30px #000,0 0 0 1px color-mix(in srgb,var(--gold) 18%,transparent);outline:0}
.pvr-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#101922,#071016)}
.pvr-media img{width:100%;height:100%;display:block;object-fit:cover}.pvr-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#fff5;font-size:48px}
.pvr-duration,.pvr-priority{position:absolute;top:12px;min-height:27px;padding:0 9px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:#fff;font-size:12px;font-weight:850;
  background:#071018c9;border:1px solid #fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pvr-duration{inset-inline-start:12px}.pvr-priority{inset-inline-end:12px;color:#ffe28b;background:#4b381dd9}
.pvr-body{padding:16px}.pvr-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pvr-title-row h3{margin:0;font-size:var(--ap-f-md);line-height:1.55}.pvr-title-row p{margin:3px 0 0;color:var(--muted);font-size:var(--ap-f-sm)}
.pvr-status{flex:0 0 auto;min-height:30px;padding:0 10px;display:inline-flex;align-items:center;border-radius:999px;font-size:12.5px;font-weight:850;border:1px solid var(--brd)}
.pvr-status.pending{color:#f1cb63;background:#d3a92c15;border-color:#d3a92c45}.pvr-status.approved{color:#6fe0a7;background:#2dbf7b15;border-color:#2dbf7b45}.pvr-status.rejected{color:#ff9b9b;background:#e76e6e15;border-color:#e76e6e45}
.pvr-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0}.pvr-meta>div{padding:10px 11px;border-radius:12px;background:var(--panel);border:1px solid var(--brd-soft)}
.pvr-meta dt{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.pvr-meta dd{margin:4px 0 0;color:var(--ink);font-size:13.5px;font-weight:850}
.pvr-progress{position:relative;height:22px;margin-top:12px;border-radius:999px;overflow:hidden;background:var(--panel);border:1px solid var(--brd-soft)}
.pvr-progress>span{position:absolute;inset-block:0;inset-inline-start:0;width:var(--progress);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 55%,transparent),var(--gold));transition:width .25s var(--ease)}
.pvr-progress small{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);font-size:11px;font-weight:900}
.pvr-auto,.pvr-error,.pvr-note{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 11px;border-radius:12px;font-size:13px;line-height:1.7;background:var(--panel);border:1px solid var(--brd-soft)}
.pvr-auto>small{margin-inline-start:auto}.pvr-auto.clear{border-color:#2dbf7b45}.pvr-auto.flag{border-color:#d3a92c55}.pvr-auto.block,.pvr-error{color:#ffb3b3;border-color:#e76e6e55;background:#e76e6e0e}.pvr-note{display:block;color:var(--muted)}
.pvr-player-wrap{margin-top:12px;border:1px solid var(--brd);border-radius:13px;overflow:hidden;background:var(--panel)}
.pvr-player-wrap summary{min-height:44px;padding:0 13px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink);font-size:13.5px;font-weight:800}.pvr-player-wrap summary i{color:var(--gold)}
.pvr-player-wrap .pv-player{margin:0;border-radius:0;max-height:360px}.pvr-review{margin-top:13px;padding-top:13px;border-top:1px solid var(--brd-soft)}
.pvr-review label{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.pvr-review textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:72px;padding:10px 11px;color:var(--ink);font:inherit;font-size:14px;line-height:1.6;background:var(--panel);border:1px solid var(--brd);border-radius:12px}
.pvr-review textarea:focus{outline:2px solid color-mix(in srgb,var(--gold) 50%,transparent);border-color:var(--gold)}.pvr-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
.pvr-approve,.pvr-reject{min-height:46px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:13px;font:850 13.5px/1.3 inherit;cursor:pointer}
.pvr-approve{color:#082617;background:linear-gradient(135deg,#7ce3b2,#42c98a);border:1px solid #a1edc8}.pvr-reject{color:#ffd0d0;background:#e76e6e16;border:1px solid #e76e6e70}
.pvr-approve:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.5)}.pvr-approve:not(:disabled):hover,.pvr-reject:hover{transform:translateY(-1px)}

@media(max-width:700px){
  .media-dropzone{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon copy" "action action" "hint hint";padding:18px!important;min-height:0;gap:12px}
  .media-dropzone-icon{width:49px;height:49px;border-radius:15px}.media-dropzone-copy strong{font-size:16px}.media-dropzone-copy small{font-size:13px}
  .media-dropzone-action{width:100%;box-sizing:border-box}.pvm-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pve{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.pve-head{padding:13px 14px}.pve h2{font-size:19px}.pve-intro{margin:10px 14px 13px;padding:9px 11px}
  .pve-body{grid-template-columns:1fr;padding:20px 14px;gap:13px}.pve-stage{height:clamp(220px,37dvh,340px);border-radius:16px}.pve-tools{position:sticky;top:74px;z-index:3}.pve-tool{min-height:62px!important;font-size:13px!important}
  .pve-foot{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.pve-actions{grid-template-columns:1fr}.pve-primary,.pve-secondary{width:100%}
  .pvr-guide{grid-template-columns:auto 1fr}.pvr-keys{grid-column:1/-1;justify-content:flex-start}.pvr-grid{grid-template-columns:1fr}.pvr-body{padding:14px}.pvr-actions{grid-template-columns:1fr}.pvr-approve,.pvr-reject{min-height:48px}
}

@media(prefers-reduced-motion:reduce){.media-dropzone,.pve-tool,.pve-primary,.pve-secondary,.pvr-card,.pvr-progress>span,.pvr-approve,.pvr-reject{transition:none!important;scroll-behavior:auto!important}}

/* ============================================================
   کارتابل رسیدگی — assignment، اولویت و SLA
   ============================================================ */
.apx .case-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.apx .case-stat{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 16px;border-radius:var(--ap-r-sm);text-decoration:none;transition:transform .18s var(--ease),border-color .18s var(--ease)}
.apx .case-stat:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--gold) 42%,var(--brd))}
.apx .case-stat-ic{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--gold) 22%,var(--brd))}
.apx .case-stat>span:last-child{display:grid;min-width:0}.apx .case-stat b{font-size:var(--ap-f-xl);line-height:1.1;color:var(--ink)}
.apx .case-stat small{margin-top:5px;font-size:var(--ap-f-xs);color:var(--muted)}.apx .case-stat.has b{color:var(--gold)}

.apx .case-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:11px;margin-bottom:18px;padding:15px;border-radius:var(--ap-r)}
.apx .case-filters label,.apx .case-plan label{display:grid;gap:6px;min-width:0}
.apx .case-filters label>span,.apx .case-plan label>span{font-size:var(--ap-f-xs);font-weight:700;color:var(--muted)}
.apx .case-filters select,.apx .case-plan select,.apx .case-plan input{width:100%;min-height:44px;padding:8px 11px;color:var(--ink);font:inherit;font-size:var(--ap-f-sm);background:var(--panel);border:1px solid var(--brd);border-radius:12px;outline:0}
.apx .case-filters select:focus,.apx .case-plan select:focus,.apx .case-plan input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 14%,transparent)}
.apx .case-filter-actions{display:flex;align-items:center;gap:10px;min-height:44px}.apx .case-filter-actions .btn-sm-glass{white-space:nowrap}
.apx .case-filter-actions>a{font-size:var(--ap-f-xs);font-weight:700;color:var(--muted);white-space:nowrap}.apx .case-filter-actions>a:hover{color:var(--gold)}

.apx .case-list{display:grid;gap:15px}.apx .case-card{position:relative;overflow:hidden;padding:19px;border-radius:var(--ap-r)}
.apx .case-card::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--brd)}
.apx .case-card.is-near::before{background:#d3a92c}.apx .case-card.is-overdue::before{background:#e76e6e}.apx .case-card.is-closed::before{background:#43bd7d}
.apx .case-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.apx .case-identity{display:flex;align-items:center;gap:12px;min-width:0}.apx .case-queue-ic{flex:0 0 auto;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--gold) 22%,var(--brd));font-size:18px}
.apx .case-identity>div{min-width:0}.apx .case-kicker{display:block;margin-bottom:3px;font-size:var(--ap-f-xs);color:var(--muted)}
.apx .case-identity h2{margin:0;font-size:var(--ap-f-lg);line-height:1.55;color:var(--ink);overflow-wrap:anywhere}
.apx .case-pills{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.apx .case-pill{min-height:30px;padding:0 10px;display:inline-flex;align-items:center;border-radius:999px;font-size:var(--ap-f-xs);font-weight:800;background:var(--panel);border:1px solid var(--brd);white-space:nowrap}
.apx .case-pill.priority-low{color:var(--muted)}.apx .case-pill.priority-normal{color:var(--ink)}
.apx .case-pill.priority-high{color:#e6c75d;border-color:#d3a92c55;background:#d3a92c10}.apx .case-pill.priority-urgent{color:#ffaaaa;border-color:#e76e6e66;background:#e76e6e12}
.apx .case-pill.source{color:var(--muted);font-weight:650}

.apx .case-sla{margin-top:15px;padding:11px 13px;border-radius:13px;background:var(--panel);border:1px solid var(--brd-soft)}
.apx .case-sla-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--ap-f-xs);color:var(--muted)}
.apx .case-sla-copy>span{display:flex;align-items:center;gap:7px;font-weight:750;color:var(--ink)}.apx .case-sla-copy i{color:var(--gold)}
.apx .case-sla-track{height:5px;margin-top:9px;overflow:hidden;border-radius:999px;background:var(--brd-soft)}
.apx .case-sla-track>span{display:block;width:var(--case-progress);height:100%;border-radius:inherit;background:var(--gold)}
.apx .case-sla.is-near .case-sla-track>span{background:#d3a92c}.apx .case-sla.is-overdue{border-color:#e76e6e55;background:#e76e6e0b}.apx .case-sla.is-overdue .case-sla-track>span{background:#e76e6e}
.apx .case-sla.is-overdue .case-sla-copy>span{color:#ffaaaa}.apx .case-sla.is-closed .case-sla-track>span{background:#43bd7d}

.apx .case-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}
.apx .case-meta>div{min-width:0;padding:10px 11px;border-radius:12px;background:color-mix(in srgb,var(--panel) 75%,transparent);border:1px solid var(--brd-soft)}
.apx .case-meta span{display:block;font-size:var(--ap-f-xs);color:var(--muted)}.apx .case-meta b{display:block;margin-top:4px;font-size:var(--ap-f-sm);color:var(--ink);overflow-wrap:anywhere}
.apx .case-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px}.apx .case-actions form{margin:0}
.apx .case-primary{color:var(--gold)!important;border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))!important}
.apx .case-text-button{min-height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font:700 var(--ap-f-xs)/1 inherit;background:transparent;border:0;border-radius:10px;cursor:pointer}
.apx .case-text-button:hover{color:var(--ink);background:var(--panel)}
.apx .case-locked{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:10px 12px;border-radius:12px;color:var(--muted);font-size:var(--ap-f-xs);background:var(--panel);border:1px solid var(--brd-soft)}

.apx .case-details{margin-top:12px;border:1px solid var(--brd-soft);border-radius:13px;background:color-mix(in srgb,var(--panel) 66%,transparent)}
.apx .case-details>summary{min-height:44px;padding:0 13px;display:flex;align-items:center;gap:8px;color:var(--ink);font-size:var(--ap-f-sm);font-weight:750;cursor:pointer;list-style:none}
.apx .case-details>summary::-webkit-details-marker{display:none}.apx .case-details>summary i{color:var(--gold)}
.apx .case-details>summary::after{content:"+";margin-inline-start:auto;color:var(--muted);font-size:20px;font-weight:400}.apx .case-details[open]>summary::after{content:"−"}
.apx .case-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:0 13px 14px;border-top:1px solid var(--brd-soft);padding-top:13px}
.apx .case-plan-note{grid-column:1/-1}.apx .case-plan>button{justify-self:start}
.apx .case-history ol{margin:0;padding:4px 16px 14px;list-style:none;border-top:1px solid var(--brd-soft)}
.apx .case-history li{position:relative;display:grid;grid-template-columns:13px minmax(0,1fr);gap:10px;padding-top:12px}
.apx .case-history-dot{width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 10%,transparent)}
.apx .case-history b{display:block;font-size:var(--ap-f-sm);color:var(--ink)}.apx .case-history small{display:block;margin-top:2px;font-size:var(--ap-f-xs);color:var(--muted)}
.apx .case-history p{margin:5px 0 0;font-size:var(--ap-f-xs);line-height:1.8;color:var(--muted)}.apx .case-history p i{margin:0 4px;color:var(--gold)}
.apx .case-history-empty{display:block!important;color:var(--muted);font-size:var(--ap-f-sm)}
.apx .vf-flash>div{display:grid;gap:3px}.apx .vf-flash>div span{font-size:var(--ap-f-xs)}

@media(max-width:1000px){
  .apx .case-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apx .case-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.apx .case-filter-actions{grid-column:1/-1}
}
@media(max-width:650px){
  .apx .case-stats{gap:9px}.apx .case-stat{padding:12px;gap:9px}.apx .case-stat-ic{width:38px;height:38px}.apx .case-stat b{font-size:var(--ap-f-lg)}
  .apx .case-filters{grid-template-columns:1fr;padding:13px}.apx .case-filter-actions{grid-column:auto}.apx .case-filter-actions .btn-sm-glass{flex:1 1 auto}
  .apx .case-filter-actions .btn-sm-glass,.apx .case-actions .btn-sm-glass,.apx .case-actions button{min-height:44px}
  .apx .case-filters select,.apx .case-plan select,.apx .case-plan input{font-size:16px}
  .apx .case-card{padding:15px}.apx .case-card-head{display:grid}.apx .case-pills{justify-content:flex-start}.apx .case-queue-ic{width:42px;height:42px}
  .apx .case-sla-copy{align-items:flex-start;flex-direction:column;gap:4px}.apx .case-meta{grid-template-columns:1fr}.apx .case-actions{display:grid;grid-template-columns:1fr}.apx .case-actions>*{width:100%}.apx .case-actions .btn-sm-glass,.apx .case-actions button{width:100%}
  .apx .case-plan{grid-template-columns:1fr}.apx .case-plan-note{grid-column:auto}.apx .case-plan>button{width:100%}
}
@media(prefers-reduced-motion:reduce){.apx .case-stat,.apx .case-sla-track>span{transition:none}}

/* ============ گزینه‌های پایهٔ سایت ============ */
.apx .cat-note b{color:var(--ink)}
.apx .cat-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:15px}
.apx .cat-tab{min-height:56px;padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;color:var(--muted);font-size:var(--ap-f-sm);font-weight:750;text-align:center;background:var(--panel);border:1px solid var(--brd-soft);transition:color .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}
.apx .cat-tab i{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;color:var(--gold);font-size:17px}
.apx .cat-tab:hover,.apx .cat-tab.active{color:var(--ink);border-color:color-mix(in srgb,var(--gold) 42%,var(--brd));background:color-mix(in srgb,var(--gold) 7%,var(--panel))}
.apx .cat-filter{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.35fr) auto;align-items:end;gap:12px;padding:15px;margin-bottom:20px}
.apx .cat-filter label,.apx .cat-action label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:var(--ap-f-xs);font-weight:700}
.apx .cat-filter input,.apx .cat-filter select,.apx .cat-action input{width:100%;min-height:44px;padding:8px 12px;border-radius:11px;color:var(--ink);font:inherit;background:var(--menu-bg);border:1px solid var(--brd)}
.apx .cat-filter .btn-glass{min-height:44px;padding-inline:18px}
.apx .cat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.apx .cat-list{display:grid;gap:11px}
.apx .cat-row{padding:15px 16px}
.apx .cat-summary{display:grid;grid-template-columns:auto minmax(150px,1fr) auto auto;align-items:center;gap:12px}
.apx .cat-state-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#43bd7d;font-size:20px;background:color-mix(in srgb,#43bd7d 10%,var(--panel));border:1px solid color-mix(in srgb,#43bd7d 35%,var(--brd))}
.apx .cat-row.is-inactive .cat-state-icon{color:var(--muted);background:var(--panel);border-color:var(--brd)}
.apx .cat-name{min-width:0}.apx .cat-name b{display:block;color:var(--ink);font-size:var(--ap-f-md);line-height:1.6}.apx .cat-name small{display:block;margin-top:2px;color:var(--muted);font-size:var(--ap-f-xs)}
.apx .cat-metrics{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.apx .cat-status{min-height:30px;padding:4px 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:var(--ap-f-xs);font-weight:800;white-space:nowrap}
.apx .cat-status.ok{color:#67d99e;background:color-mix(in srgb,#43bd7d 10%,var(--panel));border:1px solid color-mix(in srgb,#43bd7d 34%,var(--brd))}
.apx .cat-status.off{color:var(--muted);background:var(--panel);border:1px solid var(--brd)}
.apx .cat-history{margin:12px 54px 0 0;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:11px;color:var(--muted);font-size:var(--ap-f-xs);line-height:1.8;background:var(--panel);border:1px solid var(--brd-soft)}
.apx .cat-history span{display:flex;align-items:flex-start;gap:7px}.apx .cat-history i{width:18px;height:18px;display:grid;place-items:center;color:var(--gold);flex:0 0 auto;margin-top:2px}
.apx .cat-history small{white-space:nowrap;color:var(--faint)}
.apx .cat-action{margin:12px 54px 0 0;padding-top:12px;display:flex;align-items:end;justify-content:flex-end;gap:10px;border-top:1px solid var(--brd-soft)}
.apx .cat-action label{flex:1 1 320px}.apx .cat-action button{width:auto;min-height:44px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.apx .cat-action button i{width:18px;height:18px;display:grid;place-items:center}
.apx .cat-pagination{margin-top:18px}

@media(max-width:850px){
  .apx .cat-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px;scrollbar-width:thin}
  .apx .cat-tab{min-width:145px;scroll-snap-align:start}
  .apx .cat-filter{grid-template-columns:1fr 1fr}.apx .cat-filter .btn-glass{grid-column:1/-1}
  .apx .cat-summary{grid-template-columns:auto minmax(0,1fr) auto}.apx .cat-metrics{grid-column:2/4;justify-content:flex-start}.apx .cat-status{grid-column:3;grid-row:1}
}
@media(max-width:600px){
  .apx .cat-filter{grid-template-columns:1fr;padding:13px}.apx .cat-filter .btn-glass{grid-column:auto;width:100%}.apx .cat-filter input,.apx .cat-filter select,.apx .cat-action input{font-size:16px}
  .apx .cat-row{padding:13px}.apx .cat-summary{grid-template-columns:auto minmax(0,1fr)}.apx .cat-status{grid-column:1/-1;grid-row:auto;justify-self:start}.apx .cat-metrics{grid-column:1/-1}
  .apx .cat-history,.apx .cat-action{margin-inline:0}.apx .cat-history{align-items:flex-start;flex-direction:column}.apx .cat-history small{white-space:normal}
  .apx .cat-action{display:grid;grid-template-columns:1fr}.apx .cat-action button{width:100%}
}

/* ============ فهرست‌های انتخابیِ یکپارچهٔ کنترل پنل ============ */
html[data-theme="dark"] .apx{
  --ap-select-bg:rgba(11,19,15,.84);
  --ap-select-menu:#17221d;
  --ap-select-shadow:0 10px 24px -20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);
  --ap-select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%23e0bd86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html[data-theme="light"] .apx{
  --ap-select-bg:rgba(255,255,255,.82);
  --ap-select-menu:#fff;
  --ap-select-shadow:0 10px 24px -20px rgba(17,48,58,.28),inset 0 1px 0 rgba(255,255,255,.92);
  --ap-select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%230f7d91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html[data-theme] .apx select{
  min-height:46px;
  padding-block:9px;
  padding-inline:14px 44px;
  color:var(--ink);
  font:700 var(--ap-f-md)/1.55 'iranyekan',sans-serif;
  background-color:var(--ap-select-bg);
  background-image:var(--ap-select-arrow);
  background-repeat:no-repeat;
  background-position:left 14px center;
  background-size:18px 18px;
  border:1px solid var(--brd);
  border-radius:14px;
  box-shadow:var(--ap-select-shadow);
  outline:0;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  transition:border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease);
}
html[data-theme="dark"] .apx select{color-scheme:dark}
html[data-theme="light"] .apx select{color-scheme:light}
html[data-theme] .apx select:hover:not(:disabled){
  border-color:color-mix(in srgb,var(--gold) 38%,var(--brd));
  background-color:color-mix(in srgb,var(--gold) 5%,var(--ap-select-bg));
}
html[data-theme] .apx select:focus-visible,
html[data-theme] .apx select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 17%,transparent),var(--ap-select-shadow);
}
html[data-theme] .apx select:disabled{opacity:.58;cursor:not-allowed}
html[data-theme] .apx select option,
html[data-theme] .apx select optgroup{color:var(--ink);background:var(--ap-select-menu);font:inherit}
html[data-theme] .apx select option:checked{color:var(--ink);background:color-mix(in srgb,var(--gold) 14%,var(--ap-select-menu))}
html[data-theme] .apx select::-ms-expand{display:none}

/* نسخهٔ بازشده نیز سفارشی است؛ برخلاف select بومی، منوی سیستم‌عامل وارد UI نمی‌شود. */
.apx .gsel{
  position:relative;
  width:100%;
  min-width:0;
  border:0;
  border-radius:16px;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.apx .gsel-btn{
  width:100%;
  min-height:46px;
  padding:9px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--ink);
  font:700 var(--ap-f-md)/1.55 'iranyekan',sans-serif;
  text-align:right;
  background:var(--ap-select-bg);
  border:1px solid var(--brd);
  border-radius:16px;
  box-shadow:var(--ap-select-shadow);
  cursor:pointer;
  outline:0;
  transition:border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease);
}
.apx .gsel-btn:hover:not(:disabled){
  border-color:color-mix(in srgb,var(--gold) 38%,var(--brd));
  background:color-mix(in srgb,var(--gold) 5%,var(--ap-select-bg));
}
.apx .gsel-btn:focus-visible,
.apx .gsel.open .gsel-btn{
  border-color:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 17%,transparent),var(--ap-select-shadow);
}
.apx .gsel-btn:disabled{opacity:.58;cursor:not-allowed}
.apx .gsel-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apx .gsel-label.ph{color:var(--faint)}
.apx .gsel-chev{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  color:var(--gold);
  transition:transform .22s var(--ease);
}
.apx .gsel-chev svg{display:block;width:18px;height:18px}
.apx .gsel.open .gsel-chev{transform:rotate(180deg)}
.apx .gsel-list{
  top:calc(100% + 8px);
  inset-inline:0;
  z-index:120;
  max-height:min(280px,48vh);
  padding:7px 0 7px 7px;
  overflow-y:auto;
  overflow-x:hidden;
  color:var(--ink);
  background:var(--ap-select-menu);
  border:1px solid var(--brd);
  border-radius:16px;
  box-shadow:0 24px 60px -24px rgba(0,0,0,.55);
}
.apx .gsel.drop-up .gsel-list{top:auto;bottom:calc(100% + 8px);transform:translateY(6px)}
.apx .gsel.drop-up.open .gsel-list{transform:none}
.apx .gsel-opt{
  min-height:44px;
  margin:5px;
  padding:9px 15px;
  display:flex;
  align-items:center;
  color:var(--ink);
  font:600 var(--ap-f-md)/1.6 'iranyekan',sans-serif;
  text-align:right;
  border-radius:7px;
  outline:0;
  cursor:pointer;
}
.apx .gsel-opt:hover,
.apx .gsel-opt.active{color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.apx .gsel-opt.sel{color:var(--gold);font-weight:800;background:color-mix(in srgb,var(--gold) 14%,transparent)}
.apx .gsel-opt.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 42%,transparent)}
.apx .gsel-opt.placeholder{color:var(--faint)}
.apx .gsel-opt[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.apx .gsel-list::-webkit-scrollbar{width:6px}
.apx .gsel-list::-webkit-scrollbar-track{background:transparent;margin-block:14px}
.apx .gsel-list::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:99px}
.apx .gsel-list::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-h)}
.apx .vf-actions .gsel{flex:0 1 190px;width:auto}
.apx .ap-mod .gsel{flex:1 1 210px;width:auto}
.apx :is(.case-filters,.cat-filter,.vf-row,.ap-row,.case-card):has(.gsel.open){position:relative;z-index:30;overflow:visible}

@media(max-width:600px){
  .apx .gsel-btn,.apx .gsel-opt{font-size:16px}
  .apx .vf-actions .gsel,.apx .ap-mod .gsel{flex-basis:100%;width:100%}
}
@media(prefers-reduced-motion:reduce){
  html[data-theme] .apx select,.apx .gsel-btn,.apx .gsel-chev,.apx .gsel-list{transition:none}
}

/* ============ چرخهٔ مجوزِ بنگاه‌ها ============ */
html[data-theme="dark"] .apx{--agency-ok:#67d99e;--agency-warn:#e7c066;--agency-bad:#ff9999;--agency-soft:rgba(7,18,14,.38)}
html[data-theme="light"] .apx{--agency-ok:#16754b;--agency-warn:#8a6415;--agency-bad:#b63c3c;--agency-soft:rgba(255,255,255,.58)}
.apx .agency-guide b{color:var(--ink)}
.apx .agency-tabs{display:flex;gap:8px;margin-bottom:14px;padding-bottom:5px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
.apx .agency-tabs a{min-height:42px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;scroll-snap-align:start;color:var(--muted);font-size:var(--ap-f-xs);font-weight:800;background:var(--panel);border:1px solid var(--brd-soft);border-radius:999px}
.apx .agency-tabs a:hover,.apx .agency-tabs a.active{color:var(--ink);background:color-mix(in srgb,var(--gold) 8%,var(--panel));border-color:color-mix(in srgb,var(--gold) 44%,var(--brd))}
.apx .agency-tabs span{min-width:25px;height:25px;padding:0 7px;display:grid;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,transparent);border:1px solid color-mix(in srgb,var(--gold) 24%,transparent);border-radius:999px}
.apx .agency-search{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:11px;padding:14px;margin-bottom:16px}
.apx .agency-search label,.apx .agency-actions label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:var(--ap-f-xs);font-weight:600}
.apx .agency-search input,.apx .agency-actions input{width:100%;min-height:44px;padding:9px 12px;color:var(--ink);font:inherit;background:var(--menu-bg);border:1px solid var(--brd);border-radius:12px;outline:0}
.apx .agency-search input:focus,.apx .agency-actions input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 14%,transparent)}
.apx .agency-search .btn{min-height:44px;padding-inline:18px}
.apx .agency-list{display:grid;gap:13px}
.apx .agency-card{position:relative;overflow:hidden;padding:17px}
.apx .agency-card::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--brd)}
.apx .agency-card.status-active::before{background:var(--agency-ok)}
.apx .agency-card.status-expiring::before{background:var(--agency-warn)}
.apx .agency-card.status-expired::before,.apx .agency-card.status-revoked::before{background:var(--agency-bad)}
.apx .agency-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.apx .agency-state{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;color:var(--gold);font-size:19px;background:color-mix(in srgb,var(--gold) 9%,var(--panel));border:1px solid color-mix(in srgb,var(--gold) 25%,var(--brd));border-radius:14px}
.apx .agency-title{min-width:0}.apx .agency-title h2{margin:0;color:var(--ink);font-size:var(--ap-f-lg);line-height:1.55;overflow-wrap:anywhere}.apx .agency-title p{margin:2px 0 0;color:var(--muted);font-size:var(--ap-f-xs)}
.apx .agency-status{min-height:31px;padding:5px 11px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;color:var(--muted);font-size:var(--ap-f-xs);font-weight:850;background:var(--panel);border:1px solid var(--brd);border-radius:999px}
.apx .agency-status.status-active{color:var(--agency-ok);border-color:color-mix(in srgb,var(--agency-ok) 38%,var(--brd));background:color-mix(in srgb,var(--agency-ok) 9%,var(--panel))}
.apx .agency-status.status-expiring{color:var(--agency-warn);border-color:color-mix(in srgb,var(--agency-warn) 40%,var(--brd));background:color-mix(in srgb,var(--agency-warn) 9%,var(--panel))}
.apx .agency-status.status-expired,.apx .agency-status.status-revoked{color:var(--agency-bad);border-color:color-mix(in srgb,var(--agency-bad) 38%,var(--brd));background:color-mix(in srgb,var(--agency-bad) 8%,var(--panel))}
.apx .agency-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0}
.apx .agency-facts>div{min-width:0;padding:10px 11px;background:var(--agency-soft);border:1px solid var(--brd-soft);border-radius:12px}
.apx .agency-facts dt{color:var(--muted);font-size:var(--ap-f-xs)}.apx .agency-facts dd{margin:4px 0 0;color:var(--ink);font-size:var(--ap-f-sm);font-weight:800;overflow-wrap:anywhere}
.apx .agency-history{margin-top:11px;padding:11px 12px;display:flex;align-items:flex-start;gap:9px;color:var(--muted);background:var(--panel);border:1px solid var(--brd-soft);border-radius:12px}
.apx .agency-history>i{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;color:var(--gold)}.apx .agency-history b,.apx .agency-history small{display:block}.apx .agency-history b{color:var(--ink);font-size:var(--ap-f-sm)}.apx .agency-history small{margin-top:3px;font-size:var(--ap-f-xs)}
.apx .agency-history.danger{border-color:color-mix(in srgb,var(--agency-bad) 30%,var(--brd));background:color-mix(in srgb,var(--agency-bad) 6%,var(--panel))}.apx .agency-history.danger>i{color:var(--agency-bad)}
.apx .agency-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--brd-soft)}
.apx .agency-actions form{margin:0}.apx .agency-renew,.apx .agency-revoke{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.apx .agency-actions button,.apx .agency-actions>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.apx .agency-actions button i,.apx .agency-actions>a i{width:18px;height:18px;display:grid;place-items:center}
.apx .agency-pagination{margin-top:18px}
.apx .vf-license-date{display:grid;gap:5px;min-width:185px;color:var(--muted);font-size:var(--ap-f-xs);font-weight:750}.apx .vf-license-date input{width:100%;min-height:44px;padding:8px 11px;color:var(--ink);font:inherit;background:var(--menu-bg);border:1px solid var(--brd);border-radius:12px;outline:0}

@media(max-width:850px){
  .apx .agency-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.apx .agency-actions{grid-template-columns:1fr}
}
@media(max-width:600px){
  .apx .agency-search{grid-template-columns:1fr;padding:13px}.apx .agency-search .btn{width:100%}
  .apx .agency-card{padding:14px}.apx .agency-card-head{grid-template-columns:auto minmax(0,1fr)}.apx .agency-status{grid-column:1/-1;justify-self:start}
  .apx .agency-facts{grid-template-columns:1fr}.apx .agency-renew,.apx .agency-revoke{grid-template-columns:1fr}.apx .agency-actions button{width:100%}
  .apx .agency-search input,.apx .agency-actions input,.apx .vf-license-date input{font-size:16px}
  .apx .vf-license-date{min-width:100%;width:100%}
}

/* ============ اعلان‌ها و خبرنامه ============ */
html[data-theme="dark"] .apx{--comms-ok:#77d5a6;--comms-warn:#e3bb76;--comms-soft:rgba(7,18,14,.32)}
html[data-theme="light"] .apx{--comms-ok:#176d4c;--comms-warn:#8a5c16;--comms-soft:rgba(255,255,255,.66)}
.apx .comms-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.apx .comms-summary .ops-signal{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}
.apx .comms-summary .ops-signal>div{display:grid;gap:2px;min-width:0}
.apx .comms-summary .ops-signal b{color:var(--ink);font-size:var(--ap-f-xl);line-height:1.3}
.apx .comms-summary .ops-signal span:not(.ops-signal-ic){color:var(--muted);font-size:var(--ap-f-sm)}
.apx .comms-summary .ops-signal small{width:100%;color:var(--muted);font-size:var(--ap-f-xs)}
.apx .comms-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.apx .comms-detail-grid .ops-panel{min-width:0}
.apx .comms-type-list{display:grid;gap:4px}
.apx .comms-type-row{min-height:42px;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:11px;background:var(--comms-soft)}
.apx .comms-type-row>span{display:flex;align-items:center;gap:9px;flex:1;min-width:0;color:var(--ink);font-size:var(--ap-f-sm)}
.apx .comms-type-row i{width:22px;height:22px;display:grid;place-items:center;color:var(--gold)}
.apx .comms-type-row strong{color:var(--ink);font-size:var(--ap-f-md)}
.apx .comms-type-row small{color:var(--muted);font-size:var(--ap-f-xs)}
.apx .comms-search{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,240px) auto;align-items:end;gap:10px;margin-bottom:14px;padding:14px}
.apx .comms-search label,.apx .comms-action label{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:var(--ap-f-xs);font-weight:700}
.apx .comms-search input,.apx .comms-action input{width:100%;min-height:46px;padding:9px 12px;color:var(--ink);font:inherit;font-size:var(--ap-f-sm);background:var(--menu-bg);border:1px solid var(--brd);border-radius:12px;outline:0}
.apx .comms-search input:focus,.apx .comms-action input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 16%,transparent)}
.apx .comms-search button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding-inline:16px}
.apx .comms-search button i,.apx .comms-action button i{width:18px;height:18px;display:grid;place-items:center}
.apx .comms-members{display:grid;gap:11px}
.apx .comms-member{min-width:0;padding:15px}
.apx .comms-member-main{display:flex;align-items:center;gap:11px}
.apx .comms-member-main>div{min-width:0;flex:1;display:grid;gap:2px}
.apx .comms-member-main b{color:var(--ink);font-size:var(--ap-f-md)}
.apx .comms-member-main small{color:var(--muted);font-size:var(--ap-f-xs)}
.apx .comms-member-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--panel));border:1px solid var(--brd);border-radius:13px}
.apx .comms-state{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;white-space:nowrap;color:var(--muted);font-size:var(--ap-f-xs);font-weight:800;background:var(--panel);border:1px solid var(--brd);border-radius:999px}
.apx .comms-state.is-active{color:var(--comms-ok);background:color-mix(in srgb,var(--comms-ok) 9%,var(--panel));border-color:color-mix(in srgb,var(--comms-ok) 33%,var(--brd))}
.apx .comms-state.is-paused{color:var(--comms-warn);background:color-mix(in srgb,var(--comms-warn) 9%,var(--panel));border-color:color-mix(in srgb,var(--comms-warn) 33%,var(--brd))}
.apx .comms-pref{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:12px 0 0;color:var(--muted);font-size:var(--ap-f-xs)}
.apx .comms-pref span{padding:5px 9px;color:var(--ink);background:var(--comms-soft);border:1px solid var(--brd-soft);border-radius:999px}
.apx .comms-reason{margin:11px 0 0;color:var(--comms-warn);font-size:var(--ap-f-xs);overflow-wrap:anywhere}.apx .comms-reason small{color:var(--muted)}
.apx .comms-action{display:flex;align-items:end;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--brd-soft)}
.apx .comms-action label{flex:1}.apx .comms-action button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.apx .comms-delivery{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--brd-soft)}
.apx .comms-delivery:last-child{border-bottom:0}.apx .comms-delivery>div{min-width:0;display:grid;gap:2px}.apx .comms-delivery b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:var(--ap-f-sm)}
.apx .comms-delivery small,.apx .comms-delivery time{color:var(--muted);font-size:var(--ap-f-xs)}
.st-newsletter-paused{padding:11px 13px;color:var(--ink);font-size:14px;line-height:1.85;background:color-mix(in srgb,var(--gold) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--gold) 34%,var(--brd));border-radius:12px}
.st-newsletter-paused i{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;color:var(--gold)}
@media(max-width:850px){.apx .comms-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.apx .comms-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .apx .comms-summary,.apx .comms-search{grid-template-columns:1fr}
  .apx .comms-search input,.apx .comms-action input{font-size:16px}
  .apx .comms-search button,.apx .comms-action button{width:100%}
  .apx .comms-member-main{flex-wrap:wrap}.apx .comms-member-main .comms-state{margin-inline-start:53px}
  .apx .comms-action{flex-direction:column;align-items:stretch}.apx .comms-action label{width:100%}
  .apx .comms-delivery{grid-template-columns:minmax(0,1fr) auto}.apx .comms-delivery time{grid-column:1/-1}
}

/* پرونده‌های خصوصی فرصت معامله — مستقل از استایل پنل مدیریت */
.user-dash .dash-side .dash-nav-opportunities{order:8}
@media(max-width:900px){
  .user-dash .dash-side .dash-nav-opportunities{order:8}
  .user-dash .dash-side .dash-nav-settings{order:9}
  .user-dash .dash-side .dash-side-admin{order:10}
}
.opp{display:grid;gap:18px;color:var(--ink);max-width:1100px;margin-inline:auto}
.opp *{box-sizing:border-box}
.opp-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:8px 2px 4px}
.opp-head h1{margin:8px 0 6px;font-size:clamp(22px,3vw,31px);line-height:1.45;color:var(--ink)}
.opp-head p,.opp-panel p,.opp-empty p{margin:0;color:var(--muted);line-height:1.85;font-size:14.5px}
.opp-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--gold);font-size:13px;font-weight:800}
.opp-eyebrow i,.opp-primary i,.opp-back i,.opp-outline i,.opp-text-btn i,.opp-empty-icon i{display:grid;place-items:center}
.opp-primary{min-height:46px;white-space:nowrap;font-size:15px!important}
.opp-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13.5px;font-weight:700;text-decoration:none}
.opp-back:hover{color:var(--gold)}
.opp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.opp-case,.opp-panel,.opp-empty{border:1px solid var(--brd);border-radius:22px;background:var(--panel);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.opp-case{min-width:0;padding:19px;display:grid;gap:12px}
.opp-case-top{display:flex;align-items:center;gap:9px}
.opp-chip,.opp-kind{display:inline-flex;align-items:center;min-height:27px;padding:3px 10px;border-radius:999px;border:1px solid var(--brd);background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:750}
.opp-chip.is-open{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,var(--brd));background:color-mix(in srgb,var(--gold) 9%,var(--panel))}
.opp-case h2{margin:0;font-size:18px;line-height:1.55}.opp-case h2 a{color:var(--ink);text-decoration:none}.opp-case h2 a:hover{color:var(--gold)}
.opp-case p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.7;overflow-wrap:anywhere}
.opp-case-foot{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--brd-soft);font-size:12.5px;color:var(--muted)}
.opp-case-foot a{display:inline-flex;align-items:center;gap:5px;color:var(--gold);font-weight:750;text-decoration:none}
.opp-case-foot a i{display:grid;place-items:center}
.opp-empty{text-align:center;padding:48px 20px}.opp-empty h2{font-size:20px;margin:10px 0 4px}
.opp-empty .btn{margin-top:18px}.opp-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin:auto;border:1px solid var(--brd);border-radius:20px;background:var(--panel-2);color:var(--gold);font-size:26px}
.opp-pager{margin-top:8px}
.opp-form{display:grid;gap:17px;counter-reset:opp-section}
.opp-form>.opp-panel:not([hidden]){counter-increment:opp-section}
.opp-panel{min-width:0;padding:21px}
fieldset.opp-panel{margin:0}
.opp-panel[hidden]{display:none!important}
.opp-panel h2,.opp-panel legend b{margin:0;color:var(--ink);font-size:18px;font-weight:700}
.opp-section-head{display:flex;align-items:center;gap:12px;margin:0 0 17px;padding:0;line-height:1.55;width:100%}
legend.opp-section-head{float:none}
.opp-section-head p,.opp-section-head small{display:block;margin:1px 0 0;color:var(--muted);font-size:13px;font-weight:500}
.opp-step{flex:0 0 36px;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--brd));background:color-mix(in srgb,var(--gold) 10%,var(--panel));color:var(--gold);font-weight:800;font-size:16px}
.opp-step::before{content:counter(opp-section)}
.opp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.opp-fields label,.opp-count{display:grid;align-content:start;gap:7px;min-width:0;color:var(--ink);font-size:14px;font-weight:700}
.opp-label-title{display:inline-flex;align-items:center;gap:5px}
.opp-fields input,.opp-fields select,.opp-fields textarea,.opp-count select{width:100%;min-height:48px;padding:10px 13px;border-radius:13px;border:1px solid var(--brd);outline:0;background:var(--panel-2);color:var(--ink);font:inherit;font-size:15.5px;line-height:1.5}
.opp-fields textarea{resize:vertical;min-height:94px}
.opp-fields select,.opp-count select{cursor:pointer}
.opp-fields select option,.opp-count select option{background:var(--panel-solid);color:var(--ink)}
.opp-location{position:relative}.opp-location-help{color:var(--muted);font-size:12px;font-weight:500;line-height:1.6}
.opp-location-results{position:absolute;z-index:35;inset-inline:0;top:calc(100% - 18px);list-style:none;margin:0;padding:5px;max-height:260px;overflow-y:auto;
  border:1px solid var(--brd);border-radius:13px;background:var(--panel-solid);box-shadow:0 16px 32px -18px rgba(0,0,0,.6)}
.opp-location-results[hidden]{display:none}
.opp-location-results li{padding:10px 12px;border-radius:9px;color:var(--ink);font-size:14px;cursor:pointer}
.opp-location-results li:hover,.opp-location-results li[aria-selected="true"]{background:color-mix(in srgb,var(--gold) 13%,var(--panel-solid));color:var(--gold)}
.opp-fields input::placeholder,.opp-fields textarea::placeholder{color:var(--muted);opacity:.8}
.opp-fields :is(input,select,textarea):focus-visible,.opp-count select:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 16%,transparent)}
.opp-required{color:var(--gold)}.opp-wide{grid-column:1/-1}
.opp-group-list{display:grid;gap:15px;margin:19px 0 15px}
.opp-group{min-width:0;border:1px solid var(--brd);background:var(--panel-2);border-radius:17px;padding:16px}
.opp-group-head,.opp-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.opp-group-head b{display:block;font-size:15px}.opp-group-head small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.opp-count{max-width:270px;margin-bottom:14px}.opp-count select{background:var(--panel)}
.opp-items{display:grid;gap:12px}
.opp-item{min-width:0;border:1px solid var(--brd-soft);border-radius:14px;padding:14px;background:var(--panel)}
.opp-item-head b{font-size:13.5px;color:var(--muted)}
.opp-outline,.opp-text-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 13px;border:1px solid var(--brd);border-radius:12px;background:var(--panel-2);color:var(--ink);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.opp-outline:hover,.opp-text-btn:hover{border-color:var(--gold);color:var(--gold)}
.opp-text-btn{min-height:36px;border-color:transparent;background:transparent;color:var(--muted)}
.opp-outline:disabled,.opp-text-btn:disabled{opacity:.45;cursor:not-allowed}
.opp-group>.opp-outline{margin-top:12px}
.opp-form-actions{display:flex;justify-content:flex-end;gap:10px;padding:5px 0 15px}
.opp-errors{padding:15px 18px;border:1px solid color-mix(in srgb,#c46b58 40%,var(--brd));border-radius:15px;background:color-mix(in srgb,#c46b58 10%,var(--panel));color:var(--ink);font-size:14px}
.opp-errors ul{margin:9px 18px 0 0;padding:0;line-height:1.85}
.opp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.opp-panel h3{font-size:16px;margin:4px 0 16px}.opp-facts{display:grid;gap:0;margin:13px 0 0}
.opp-facts>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid var(--brd-soft);font-size:14px}
.opp-facts dt{color:var(--muted)}.opp-facts dd{margin:0;max-width:70%;text-align:end;overflow-wrap:anywhere;font-weight:700}
.opp-private-note{padding:12px;border:1px solid var(--brd);border-radius:12px;background:var(--panel-2);overflow-wrap:anywhere}
.opp-wish-summary{margin-top:12px;padding:13px;border:1px solid var(--brd-soft);border-radius:13px;background:var(--panel-2)}
.opp-wish-summary b{font-size:14px}.opp-wish-summary p{margin:6px 0 0;font-size:13.5px}
@media(max-width:760px){
  .opp-head{align-items:stretch;flex-direction:column;gap:13px}
  .opp-head .opp-primary{align-self:flex-start}
  .opp-list,.opp-detail-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .opp{gap:15px}.opp-panel{padding:16px}.opp-fields{grid-template-columns:1fr;gap:13px}
  .opp-fields input,.opp-fields select,.opp-fields textarea,.opp-count select{font-size:16px}
  .opp-item,.opp-group{padding:13px}.opp-head .opp-primary,.opp-form-actions .opp-primary{width:100%}
  .opp-form-actions{position:static}.opp-facts>div{font-size:13.5px}
}

/* Opportunity discovery — a readable transaction ledger, not a KPI dashboard. */
.opp-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.opp-head-actions form{margin:0}
.opp-tabs{display:flex;align-items:center;gap:5px;max-width:100%;overflow-x:auto;padding:6px;border:1px solid var(--brd);border-radius:17px;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.opp-tabs a{display:inline-flex;align-items:center;justify-content:center;flex:1 0 auto;min-height:44px;padding:8px 17px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:15px;font-weight:750;white-space:nowrap}
.opp-tabs a[aria-current="page"]{background:color-mix(in srgb,var(--gold) 12%,var(--panel));color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 35%,var(--brd))}
.opp-tabs a:hover{color:var(--gold)}
.opp-panel-intro,.opp-results-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.opp-panel-intro h2,.opp-results-head h2{margin:0 0 4px;font-size:20px}
.opp-panel-intro p,.opp-results-head p,.opp-search-note{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.opp-soft-label{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border:1px solid var(--brd);border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:13px;white-space:nowrap}
.opp-search-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-top:19px}
.opp-search-form label,.opp-result-filters label,.opp-followup-form label{display:grid;gap:7px;min-width:0;color:var(--ink);font-size:16px;font-weight:600;margin-bottom:15px}
.opp-search-form :is(input,select),.opp-result-filters select,.opp-followup-form :is(input,select,textarea){width:100%;min-height:46px;padding:9px 12px;border:1px solid var(--brd);border-radius:12px;background:var(--panel-2);color:var(--ink);font:inherit;font-size:15px;outline:none}
.opp-search-form select,.opp-result-filters select,.opp-followup-form select{cursor:pointer}
.opp-search-form option,.opp-result-filters option,.opp-followup-form option{background:var(--panel-solid);color:var(--ink)}
.opp-search-form :is(input,select):focus-visible,.opp-result-filters select:focus-visible,.opp-followup-form :is(input,select,textarea):focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent)}
.opp-search-form .opp-primary{min-height:46px}
.opp-search-note{margin-top:12px}
.opp-history{padding:2px 4px;color:var(--muted);font-size:14px}.opp-history summary{cursor:pointer;min-height:40px;padding:9px}.opp-history-links{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 10px}.opp-history-links a{padding:8px 12px;border:1px solid var(--brd);border-radius:10px;color:var(--ink);text-decoration:none;background:var(--panel)}.opp-history-links a[aria-current="page"]{border-color:var(--gold);color:var(--gold)}
.opp-run{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border:1px solid var(--brd);border-radius:19px;background:var(--panel);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.opp-run-main{display:flex;align-items:start;gap:13px;min-width:0}.opp-run-icon,.opp-source-icon,.opp-flow-num{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--brd));border-radius:12px;background:color-mix(in srgb,var(--gold) 9%,var(--panel-2));color:var(--gold);font-size:18px}.opp-run-icon i,.opp-source-icon i{display:grid;place-items:center;line-height:1}
.opp-run h2{margin:0 0 3px;font-size:17px}.opp-run p{margin:2px 0;color:var(--muted);font-size:13.5px;line-height:1.75}.opp-run-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.opp-run-actions form{margin:0}
.opp-results{display:grid;gap:14px}.opp-result-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.opp-result-filters label:first-child{min-width:180px}.opp-result-filters .opp-check{display:flex;align-items:center;gap:7px;min-height:44px;color:var(--muted);font-weight:600}.opp-check input{width:18px;height:18px;accent-color:var(--gold)}
.opp-scenario{min-width:0;padding:20px;border:1px solid var(--brd);border-radius:20px;background:var(--panel);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);scroll-margin-top:20px}.opp-scenario-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.opp-saved{display:inline-flex;align-items:center;gap:5px;margin-inline-start:auto;color:var(--gold);font-size:12.5px;font-weight:700}.opp-saved i{display:grid;place-items:center}
.opp-scenario h3{margin:13px 0 5px;color:var(--ink);font-size:19px;line-height:1.6;overflow-wrap:anywhere}.opp-scenario h3 small{color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}.opp-scenario-why{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.opp-scenario-facts{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.opp-scenario-facts>*{padding:6px 10px;border:1px solid var(--brd);border-radius:10px;background:var(--panel-2);font-size:13.5px;color:var(--ink)}.opp-scenario-facts strong{color:var(--gold)}.opp-caution{margin:0 0 12px;color:var(--muted);font-size:13.5px}
.opp-scenario-details{border-top:1px solid var(--brd-soft);padding-top:10px}.opp-scenario-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;cursor:pointer;color:var(--gold);font-size:14px;font-weight:750;list-style:none}.opp-scenario-details summary::-webkit-details-marker{display:none}.opp-scenario-details summary i{display:grid;place-items:center;transition:transform .2s var(--ease)}.opp-scenario-details[open] summary i{transform:rotate(180deg)}
.opp-scenario-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:14px}.opp-scenario-body>section{min-width:0}.opp-scenario-body h4{margin:0 0 10px;color:var(--ink);font-size:15px}.opp-source-list{display:grid;gap:8px}.opp-source{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--brd-soft);border-radius:13px;background:var(--panel-2)}.opp-source>div{min-width:0;flex:1}.opp-source b{display:block;color:var(--ink);font-size:14px;overflow-wrap:anywhere}.opp-source small{display:block;color:var(--muted);font-size:12.5px;line-height:1.7}.opp-source a{color:var(--gold);font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none}
.opp-flow{display:grid;gap:0;list-style:none;margin:0;padding:0}.opp-flow li{display:flex;gap:11px;min-width:0;padding:0 0 13px}.opp-flow li:not(:last-child) .opp-flow-num{position:relative}.opp-flow-num{width:30px;height:30px;border-radius:50%;font-size:13px;font-weight:800}.opp-flow li>div{min-width:0;padding:4px 0}.opp-flow b{display:block;font-size:14px;color:var(--ink);overflow-wrap:anywhere}.opp-flow small{display:block;color:var(--muted);font-size:12.5px;line-height:1.6}
.opp-reason-block ul{margin:0;padding-inline-start:20px;color:var(--muted);font-size:13.5px;line-height:1.8}.opp-followup{grid-column:1/-1;padding:16px;border:1px solid var(--brd);border-radius:15px;background:var(--panel-2)}.opp-followup p{margin:0 0 11px;color:var(--muted);font-size:13px;line-height:1.7}.opp-followup .opp-whatif{color:var(--gold);font-weight:700}.opp-followup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:11px;align-items:end}.opp-followup-form .opp-wide{grid-column:1/-1}.opp-followup-form textarea{min-height:78px;resize:vertical}.opp-followup-form button{min-height:46px}.opp-next{justify-self:center;margin-top:4px}
.opp-discovery :is(a,button,summary):focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:1000px){.opp-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.opp-search-form .opp-primary{grid-column:1/-1;justify-self:start}.opp-scenario-body{grid-template-columns:1fr}.opp-followup-form{grid-template-columns:repeat(2,minmax(0,1fr))}.opp-followup-form button{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.opp-tabs{padding:5px}.opp-tabs a{font-size:14px;padding:8px 11px}.opp-panel-intro{display:block}.opp-soft-label{margin-top:9px}.opp-search-form,.opp-followup-form{grid-template-columns:1fr}.opp-search-form .opp-primary,.opp-followup-form button{grid-column:1;width:100%}.opp-search-form :is(input,select),.opp-result-filters select,.opp-followup-form :is(input,select,textarea){font-size:16px}.opp-run{display:block;padding:15px}.opp-run-actions{margin:12px 0 0 53px}.opp-run-actions .opp-outline{min-height:44px}.opp-scenario{padding:15px}.opp-scenario h3{font-size:17px}.opp-scenario-facts>*{font-size:13px}.opp-source{flex-wrap:wrap}.opp-source a{margin-inline-start:50px}.opp-result-filters label:first-child{flex:1}.opp-result-filters .opp-outline{min-width:95px}.opp-head-actions,.opp-head-actions form,.opp-head-actions .opp-outline{width:100%}.opp-head-actions .opp-primary{width:100%}}
@media(prefers-reduced-motion:reduce){.opp-scenario-details summary i{transition:none}}

/* User support portal: isolated from both dashboard and staff controls. */
.support-help,.support-access{margin-block:34px 56px;max-width:960px}
.support-help .sh-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.support-help .sh-path{display:grid;gap:18px;align-content:start;padding:26px;border-radius:24px;min-width:0}
.support-help .sh-path p{color:var(--muted);margin-top:8px}
.support-help .sh-path a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;margin-top:auto}
.support-help .sh-topics{display:grid;gap:12px}
.support-help .sh-topics>h2{margin-block:8px}
.support-desk .sh-topic{border-radius:18px;overflow:hidden}
.support-desk .sh-topic summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;min-height:56px;cursor:pointer;list-style:none;font-weight:700}
.support-desk .sh-topic summary::-webkit-details-marker{display:none}
.support-desk .sh-topic summary:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}
.support-desk .sh-topic[open] summary{color:var(--gold);border-bottom:1px solid var(--brd-soft)}
.support-desk .sh-topic[open] summary i{transform:rotate(180deg)}
.support-desk .sh-topic ol{padding:12px 44px 22px 24px;margin:0;display:grid;gap:12px;list-style-type:persian}
.support-access .sx-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0;min-width:0}
.support-access .sx-reasons legend{font-weight:700;margin-bottom:12px}
.support-access .sx-reasons label{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:52px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);cursor:pointer}
.support-access .sx-reasons label:has(:checked){border-color:var(--gold);color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--panel))}
.support-access .sx-reasons input{width:18px;height:18px;flex-shrink:0;accent-color:var(--gold)}
.support-access .sd-field input{width:100%;min-width:0;min-height:52px;border:1px solid var(--brd);border-radius:15px;background:var(--panel);color:var(--ink);padding:14px 16px;font:inherit;font-size:16px}
.support-access .sx-receipt dl{display:grid;gap:14px;padding:0;margin:20px 0}
.support-access .sx-receipt dl>div{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--brd-soft)}
.support-access .sx-receipt dt{color:var(--muted)}
.support-access .sx-receipt dd{margin:0;font-weight:700;color:var(--gold)}
.support-access .sd-compose-card>.sd-muted{margin-bottom:20px}
.support-admin .sa-contact{display:grid;gap:12px;padding:20px;border-radius:20px}
.support-admin .sa-contact [data-contact-value]{font-size:20px;color:var(--gold);justify-self:start}
@media(max-width:600px){.support-help .sh-paths{grid-template-columns:1fr}.support-help .sh-path{padding:20px}.support-access .sx-reasons{grid-template-columns:1fr}.support-desk .sh-topic summary{padding:16px}.support-desk .sh-topic ol{padding-inline:34px 18px}.support-help,.support-access{margin-block:24px 36px}.support-access .sd-compose-actions form,.support-access .sd-compose-actions button{width:100%}}
.support-desk{display:grid;gap:22px;min-width:0;color:var(--ink);font-size:16px;line-height:1.8}
.support-desk [hidden]{display:none!important}
.support-desk :is(h1,h2,h3,p){margin:0}
.support-desk :is(button,a,label){-webkit-tap-highlight-color:transparent}
.support-desk :is(button,.btn-gold,.btn-glass){min-height:46px;font:inherit;text-decoration:none;border-radius:14px}
.support-desk :is(button,a,input,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.support-desk i{display:inline-grid;place-items:center;flex-shrink:0;line-height:1}
.support-desk i::before{display:block;line-height:1}
.support-desk .sd-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-block:4px 6px}
.support-desk h1{font-size:clamp(23px,3vw,29px);line-height:1.6;font-weight:700}
.support-desk h2{font-size:19px;font-weight:600}
.support-desk h3{font-size:17px;font-weight:600}
.support-desk .sd-head p,.support-desk .sd-muted{color:var(--muted);font-size:14px}
.support-desk .sd-eyebrow{color:var(--gold);font-size:14px;font-weight:700}
.support-desk .sd-back{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--gold);text-decoration:none;font-size:14px}
.support-desk .sd-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px}
.support-desk .sd-ticket-list{display:grid;gap:12px}
.support-desk .sd-ticket{display:flex;align-items:center;gap:16px;min-width:0;padding:20px;border-radius:21px;text-decoration:none;color:var(--ink);transition:border-color .18s var(--ease)}
.support-desk .sd-ticket:hover{border-color:var(--gold)}
.support-desk .sd-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:16px;border:1px solid var(--brd);background:var(--panel-2);color:var(--gold);font-size:23px}
.support-desk .sd-ticket-main{min-width:0;flex:1}
.support-desk .sd-ticket-main time{display:block;color:var(--muted);font-size:13px}
.support-desk .sd-status{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;padding:6px 12px;border-radius:12px;border:1px solid var(--brd);background:var(--panel-2);font-size:13px;font-weight:700;color:var(--ink)}
.support-desk .sd-status::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor}
.support-desk .sd-status[data-state="waiting_user"],.support-desk .sd-status[data-state="resolved"]{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 38%,var(--brd))}
.support-desk .sd-empty{display:grid;justify-items:center;text-align:center;gap:12px;padding:40px 24px;border-radius:24px}
.support-desk .sd-empty p{color:var(--muted);margin-bottom:8px}
.support-desk .sd-notice{padding:16px 18px;border:1px solid var(--brd);border-inline-start:3px solid var(--gold);border-radius:14px;background:var(--panel);font-size:15px}
.support-desk .sd-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;margin-top:22px;font-size:14px}
.support-desk .sd-compose-card,.support-desk .sd-conversation{padding:26px;border-radius:24px;min-width:0}
.support-desk .sd-compose-card>h2{margin-bottom:18px}
.support-desk .sd-compose{display:grid;gap:19px;min-width:0}
.support-desk .sd-field{display:grid;gap:8px;min-width:0}
.support-desk .sd-field>label{font-weight:700;font-size:16px}
.support-desk .sd-field>label>span{color:var(--gold)}
.support-desk .sd-field :is(textarea,select){width:100%;min-width:0;border:1px solid var(--brd);border-radius:15px;background:var(--panel);color:var(--ink);padding:14px 16px;font:inherit;font-size:16px;line-height:1.9}
.support-desk .sd-field textarea{min-height:150px;resize:vertical;scroll-margin-block:24px}
.support-desk .sd-field textarea::placeholder{color:var(--muted);opacity:1}
.support-desk .sd-field textarea[readonly]{opacity:.75}
.support-desk .sd-counter{justify-self:end;color:var(--muted);font-size:13px}
.support-desk .sd-privacy{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid var(--brd-soft);border-radius:14px;background:var(--panel);color:var(--muted);font-size:13px;line-height:1.9}
.support-desk .sd-privacy i{color:var(--gold);font-size:18px;margin-top:3px}
.support-desk .sd-upload{display:grid;gap:10px;justify-items:start;min-width:0}
.support-desk .sd-file-pick{position:relative;cursor:pointer;overflow:hidden}
.support-desk .sd-file-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.support-desk .sd-file-pick:focus-within{outline:2px solid var(--gold);outline-offset:4px}
.support-desk .sd-files,.support-desk .sd-message-files{display:grid;gap:8px;width:100%;list-style:none;padding:0;margin:0;min-width:0}
.support-desk .sd-files li{display:flex;align-items:center;gap:10px;min-width:0;padding:7px 12px;border:1px solid var(--brd);border-radius:12px;background:var(--panel)}
.support-desk .sd-files li>span{min-width:0;flex:1;overflow-wrap:anywhere;font-size:14px}
.support-desk .sd-files button{width:44px;min-height:44px;flex-shrink:0;padding:0;background:transparent;border:0;color:var(--ink);display:grid;place-items:center}
.support-desk .sd-upload-progress{width:100%;font-size:14px;color:var(--gold)}
.support-desk progress{display:block;width:100%;height:9px;border:0;border-radius:9px;overflow:hidden;margin-top:9px;accent-color:var(--gold);background:var(--panel-2)}
.support-desk progress::-webkit-progress-bar{background:var(--panel-2)}
.support-desk progress::-webkit-progress-value{background:var(--gold);border-radius:9px}
.support-desk .sd-feedback{padding:12px 15px;border:1px solid var(--brd);border-inline-start:3px solid var(--gold);border-radius:12px;background:var(--panel-2);font-size:14px;overflow-wrap:anywhere}
.support-desk .sd-feedback[data-error="true"]{border-inline-start-color:var(--danger,#f06b6b)}
.support-desk .sd-receipt{color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.support-desk .sd-confirmation{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:16px;padding:22px;border-radius:22px;border-color:color-mix(in srgb,var(--gold) 40%,var(--brd));scroll-margin-block-start:110px}
.support-desk .sd-confirmation .sd-icon{background:color-mix(in srgb,var(--gold) 12%,var(--panel-2));border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}
.support-desk .sd-confirmation h2{color:var(--ink);font-size:20px;line-height:1.7}
.support-desk .sd-confirmation p{margin-top:5px;color:var(--muted);font-size:15px;line-height:1.9}
.support-desk .sd-confirmation-code{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px;padding:6px 12px;border:1px solid var(--brd);border-radius:12px;background:var(--panel-2);font-size:14px;color:var(--muted)}
.support-desk .sd-confirmation-code b{color:var(--gold);font-size:18px;direction:ltr;unicode-bidi:isolate;letter-spacing:1px}
.support-desk .sd-feedback{font-size:16px;scroll-margin-block:110px}
.support-desk .sd-confirmation:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.support-desk .sd-compose-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--brd-soft);padding-top:18px}
.support-desk button:disabled{opacity:.55;cursor:wait}
.support-desk .sd-messages{display:grid;gap:17px;margin-top:22px;min-width:0}
.support-desk .sd-message{justify-self:start;width:min(92%,640px);min-width:0;padding:17px 19px;border:1px solid var(--brd);border-radius:20px 5px 20px 20px;background:var(--panel-2);overflow-wrap:anywhere}
.support-desk .sd-message.is-staff{justify-self:end;background:color-mix(in srgb,var(--gold) 7%,var(--panel));border-color:color-mix(in srgb,var(--gold) 25%,var(--brd));border-radius:5px 20px 20px 20px}
.support-desk .sd-message header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;margin-bottom:9px}
.support-desk .sd-message strong{font-size:14px;color:var(--gold)}
.support-desk .sd-message time{font-size:12px;color:var(--muted)}
.support-desk .sd-message p{white-space:pre-wrap;font-size:16px;line-height:1.95}
.support-desk .sd-message-files{margin-top:11px}
.support-desk .sd-message-files a{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:44px;padding:8px 10px;background:var(--panel);border:1px solid var(--brd);border-radius:10px;color:var(--ink);text-decoration:none;font-size:14px;min-width:0}
.support-desk .sd-message-files a>span{min-width:0;overflow-wrap:anywhere;flex:1}
.support-desk .sd-message-files small{color:var(--muted);font-size:12px}
.support-desk .sd-older{display:flex;margin:18px auto 0}
.support-desk .sd-new{display:flex;margin:18px auto 0;color:var(--gold)}
.support-desk .sd-resolution{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:20px;margin-top:24px;border-top:1px solid var(--brd)}
.support-desk .sd-resolution p{font-size:14px;color:var(--muted);flex:1;min-width:160px}
@media(max-width:600px){
  .support-desk{gap:18px}.support-desk .sd-head{gap:12px}.support-desk .sd-head>.btn-gold{width:100%}
  .support-desk .sd-compose-card,.support-desk .sd-conversation{padding:18px 14px;border-radius:20px}
  .support-desk .sd-ticket{display:grid;grid-template-columns:40px minmax(0,1fr) 15px;gap:9px 12px;padding:17px 14px}
  .support-desk .sd-ticket .sd-icon{width:40px;height:40px;font-size:20px;border-radius:13px}.support-desk .sd-ticket-main{grid-column:2}.support-desk .sd-ticket>.sd-status{grid-column:2;justify-self:start}.support-desk .sd-ticket>.bi{grid-column:3;grid-row:1/3}
  .support-desk .sd-message{width:96%;padding:14px}.support-desk .sd-compose-actions{display:grid;grid-template-columns:1fr;width:100%}.support-desk .sd-resolution button{width:100%}
  .support-desk .sd-confirmation{padding:18px 14px;gap:12px;border-radius:20px}.support-desk .sd-confirmation h2{font-size:19px}
  .support-desk .sd-privacy{padding:11px;font-size:13px}.support-desk .sd-file-pick{width:100%}.support-desk .sd-upload{width:100%}.support-desk .sd-section-head>.btn-glass{padding:9px 12px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.support-desk .sd-ticket{transition:none}}

/* Staff support workspace: shared surfaces, explicit public/internal audiences. */
.apx .support-admin{gap:22px;--sa-accent:color-mix(in srgb,var(--gold) 10%,var(--panel))}
.apx .support-admin :is(.sa-filters,.sa-inline-form,.sd-compose-card):has(.gsel.open){position:relative;z-index:30;overflow:visible}
.apx .support-admin :is(.sa-tabs,.sa-summary,.sa-inline-form,.sa-ticket,.sa-history){min-width:0}
.apx .support-admin .sa-tabs{display:flex;gap:8px;flex-wrap:wrap}
.apx .support-admin .sa-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 16px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--muted);text-decoration:none}
.apx .support-admin .sa-tabs a.is-active{border-color:var(--gold);color:var(--gold);background:var(--sa-accent)}
.apx .support-admin .sa-tabs span{font-size:14px;line-height:1.5;font-weight:800}
.apx .support-admin .sa-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:22px;border-radius:20px}
.apx .support-admin label{display:block;margin-bottom:8px}
.apx .support-admin .sa-filter-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap}
.apx .support-admin .sa-queue{display:grid;gap:12px}
.apx .support-admin .sa-ticket{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(145px,auto) 18px;align-items:center;gap:18px;padding:22px;border-radius:20px;color:var(--ink);text-decoration:none;transition:border-color .18s}
.apx .support-admin .sa-ticket:hover{border-color:var(--gold)}
.apx .support-admin .sa-ticket-main{min-width:0;overflow-wrap:anywhere}
.apx .support-admin .sa-ticket-main p{margin:6px 0;color:var(--muted);font-size:15px}
.apx .support-admin .sa-ticket-main small{color:var(--muted);font-size:14px}
.apx .support-admin .sa-ticket-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:290px}
.apx .support-admin .sa-ticket-meta time{flex-basis:100%;text-align:end;font-size:13px;color:var(--muted)}
.apx .support-admin .sa-priority{padding:5px 10px;border:1px solid var(--brd);border-radius:9px;font-size:13px;color:var(--muted)}
.apx .support-admin .sa-priority[data-priority="40"]{color:var(--gold);border-color:var(--gold)}
.apx .support-admin .sa-summary{display:flex;justify-content:space-between;gap:20px;padding:24px;border-radius:22px}
.apx .support-admin .sa-summary>div{display:grid;gap:9px;min-width:0;overflow-wrap:anywhere}
.apx .support-admin .sa-summary p,.apx .support-admin .sa-summary small{color:var(--muted)}
.apx .support-admin .sa-summary .sd-status{justify-self:start}
.apx .support-admin .sa-workflow{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.apx .support-admin .sa-inline-form{display:flex;align-items:end;gap:12px;flex:1 1 290px;padding:16px;border-radius:18px}
.apx .support-admin .sa-inline-form>div{flex:1;min-width:0}
.apx .support-admin .sa-inline-form button{flex-shrink:0}
.apx .support-admin .sd-message.is-internal{background:var(--sa-accent);border-color:var(--gold);border-inline-start:4px solid var(--gold)}
.apx .support-admin .sd-message.is-internal header strong{color:var(--gold)}
.apx .support-admin .sa-compose-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.apx .support-admin .sa-audience{padding:12px 16px;background:var(--panel);border:1px solid var(--brd);border-radius:12px;font-size:15px}
.apx .support-admin .sa-audience.is-internal{border-color:var(--gold);color:var(--gold);background:var(--sa-accent)}
.apx .support-admin .sa-templates summary,.apx .support-admin .sa-history summary{min-height:46px;cursor:pointer;padding:10px 0;font-weight:700;color:var(--ink)}
.apx .support-admin .sa-templates>div{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.apx .support-admin .sa-history{padding:20px 24px;border-radius:20px}
.apx .support-admin .sa-history ol{list-style:none;padding:0;margin:18px 0 0}
.apx .support-admin .sa-history li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--brd)}
.apx .support-admin .sa-history li>div{display:flex;flex-wrap:wrap;gap:8px}
.apx .support-admin .sa-history :is(time,small,li span){color:var(--muted);font-size:14px}
.apx .support-admin .sa-history time{flex-shrink:0}
@media(max-width:900px){
  .apx .support-admin .sa-filters{grid-template-columns:1fr 1fr}
  .apx .support-admin .sa-ticket{grid-template-columns:46px minmax(0,1fr) 16px;gap:12px}
  .apx .support-admin .sa-ticket-meta{grid-column:2;max-width:none;justify-content:flex-start}
  .apx .support-admin .sa-ticket-meta time{text-align:start}
  .apx .support-admin .sa-ticket>.bi{grid-column:3;grid-row:1/3}
}
@media(max-width:600px){
  .apx .support-admin .sa-tabs{display:grid;grid-template-columns:1fr 1fr}
  .apx .support-admin .sa-tabs a{padding:10px 8px;font-size:14px}
  .apx .support-admin :is(.sa-filters,.sa-compose-grid){grid-template-columns:minmax(0,1fr)}
  .apx .support-admin .sa-summary{flex-direction:column;padding:20px 16px}
  .apx .support-admin :is(.sa-filters,.sa-ticket,.sa-history){padding:18px 14px}
  .apx .support-admin .sa-inline-form{flex-wrap:wrap;padding:14px}
  .apx .support-admin .sa-inline-form>div{flex-basis:100%}
  .apx .support-admin .sa-inline-form button{width:100%}
  .apx .support-admin .sa-history li{flex-direction:column;gap:7px}
  .apx .support-admin :is(input,select,textarea){font-size:16px}
  .apx .support-admin .sd-message{width:100%}
}
/* طرح تأییدشدهٔ فرم افزودن؛ فقط لایهٔ نمایش و بدون تغییر فرم ویرایش و سایر صفحات. */
.pfx .media-dropzone{display:flex!important;padding:30px 20px!important;text-align:center!important;background:var(--panel)!important;border:1px dashed color-mix(in srgb,var(--gold) 42%,var(--brd))!important;border-radius:20px!important;box-shadow:none!important}.pfx .media-dropzone-icon{margin:0 0 16px!important}.pfx .media-upload-limits{padding-top:0;border-top:0}.pfx .media-dropzone-action{width:auto}
.pfx-picker{position:fixed;inset:0;margin:auto}.pfx-picker-options::-webkit-scrollbar{width:6px!important}.pfx-picker-options::-webkit-scrollbar-track{background:transparent!important}.pfx-picker-options::-webkit-scrollbar-thumb{background:var(--scroll-thumb)!important;border-radius:8px!important}.pfx-picker-options::-webkit-scrollbar-button{display:none!important;height:0!important}
.pfx .modern-progress .step-icon .icon-label{display:block}
.pfx-field-divider{grid-column:1/-1;padding-top:24px;margin:5px 0 0;border-top:1px solid var(--brd);font-size:16px;font-weight:700;color:var(--ink)}.pfx-field-divider:first-child{padding-top:0;margin-top:0;border-top:0}
.pfx [data-property-step="1"] label[for="transaction_type_id"],.pfx [data-property-step="2"] label[for="property_type_id"]{display:none!important}
.pfx #propertyStepPrev svg{transform:rotate(180deg)}
.pfx-picker[open]{display:flex;flex-direction:column}.pfx-picker>.pfx-sheet-handle{order:0}.pfx-picker>.pfx-picker-header{order:1}.pfx-picker>.pfx-picker-search{order:2;flex-shrink:0}.pfx-picker>.pfx-picker-options{order:3;flex:0 1 auto;min-height:0}.pfx-picker>.pfx-picker-clear{order:4;flex-shrink:0;text-align:right}
.pfx [data-field="has_garden_house"]{grid-column:1/-1}.pfx .rent-switch-field{min-height:62px;border:1px solid var(--brd);border-radius:15px;background:var(--panel);padding:15px 18px}.pfx .rent-switch-text{font-size:16px;color:var(--ink)}.pfx .rent-switch-text small{font-size:12px!important;color:var(--muted)!important;line-height:1.9}
@font-face{font-family:PropertyDisplay;src:url('/fonts/kalameh/KalamehWeb-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
.pfx-page>.wrap{max-width:1180px!important}
html[data-theme] .dash .dashboard-section.pfx{max-width:none;margin:0;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--ink)}
.dashboard-section.pfx::before{display:none}.pfx [hidden]{display:none!important}
.pfx .pfx-page-heading{margin:10px 0 27px}.pfx-page-heading h1{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:36px;line-height:1.4;color:var(--ink);margin:0}.pfx-page-heading p{font-size:16px;color:var(--muted);margin:9px 0 0}.pfx .pfx-eyebrow{font-size:13px;font-weight:700;color:var(--gold);margin-bottom:7px}
.pfx-workspace{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:24px;align-items:start}.pfx-main{min-width:0}
.pfx .modern-progress{padding:20px 24px 0!important;margin:0 0 16px!important;border:1px solid var(--brd)!important;border-radius:24px;background:var(--panel-2)!important;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass)}
.pfx .progress-head{display:flex;flex-direction:column}.pfx .step-meta{display:flex!important;order:0;justify-content:space-between;align-items:center;margin:0;font-size:14px;font-weight:700;color:var(--ink)}.pfx .step-label{font-size:14px}.pfx .step-number{display:flex;gap:6px;align-items:center;font-size:14px;background:none;border:0;padding:0;line-height:1.8}
.pfx .modern-progress .progress-line{display:block;order:1;height:4px;background:var(--brd-soft);border-radius:8px;margin:12px 0 16px;overflow:hidden}.pfx .progress-line #progressBar{height:100%;background:var(--gold);border-radius:8px}
.pfx .step-icons-wrapper{order:2;min-width:0}.pfx .modern-progress .step-icons{gap:14px;padding:0 0 17px;scrollbar-width:thin}.pfx .modern-progress .step-icons::-webkit-scrollbar{display:block;height:4px}.pfx .modern-progress .step-icon{flex:1 0 48px;min-width:48px;gap:8px;background:none;border:0;padding:0;min-height:56px}.pfx .step-icon::before,.pfx .step-icon::after,.pfx .step-icon .step-icon-svg{display:none!important}
.pfx-step-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--brd);border-radius:11px;background:var(--panel);font-size:13px;color:var(--faint);font-weight:700}.pfx .step-icon.is-active .pfx-step-number{color:var(--gold);border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,var(--panel))}.pfx .step-icon:has(~.is-active) .pfx-step-number{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}.pfx .modern-progress .icon-label{margin:0;font-size:11px;color:var(--faint);font-weight:400}.pfx .step-icon.is-active .icon-label{color:var(--gold)}.pfx .step-icon:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:10px}
.pfx .form-modern{max-width:none;margin:0;padding:32px;border-radius:26px;background:var(--panel-2)!important;border:1px solid var(--brd)!important;box-shadow:0 20px 60px -36px rgba(0,0,0,.35);color:var(--ink)}.pfx .pf-divider,.pfx .property-step>.step-header{display:none}
.pfx-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:27px}.pfx-card-heading h2{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:28px;line-height:1.5;color:var(--ink);margin:0}.pfx-card-heading p{font-size:14px;color:var(--muted);margin:8px 0 0;line-height:1.9}.pfx-section-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:1px solid var(--brd);background:var(--panel);border-radius:17px;color:var(--gold);font-size:23px}
.pfx .bi,.pfx-picker .bi{display:grid;place-items:center;line-height:1;flex-shrink:0}.pfx .bi::before,.pfx-picker .bi::before{display:block;vertical-align:0;line-height:1}
.pfx .property-step>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 18px;margin:0}.pfx .property-step>.row>[class*=col-]{width:100%;max-width:none;min-width:0;padding:0;margin-bottom:0!important}.pfx .property-step>.mb-3{margin-bottom:22px}
.pfx label:not(.feature-card):not(.switch),.pfx .form-label{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:10px}.pfx .form-control{min-height:58px;font-size:17px!important;border-radius:15px;padding:14px 16px;color:var(--ink)!important;background:var(--panel)!important;border:1px solid var(--brd)!important;box-shadow:none}.pfx textarea.form-control{min-height:118px;line-height:1.9}.pfx .form-control:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 10%,transparent)}.pfx .amount-words{font-size:12px!important;line-height:1.9;color:var(--muted)!important}.pfx .validation-error,.pfx .invalid-feedback{font-size:14px!important;line-height:1.9}.pfx .field-locked-hint{font-size:13px}.pfx .pfx-select:has(select.is-invalid){outline:1px solid var(--danger,#d85c56);outline-offset:3px;border-radius:16px}
.pfx .pfx-select>select.form-control{display:none!important}.pfx .pfx-cards>.pfx-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pfx .pf-dd-btn{font-size:16px;min-height:58px;color:var(--ink);background:var(--panel);border:1px solid var(--brd);border-radius:15px}.pfx .pfx-tile.pf-dd-btn{height:auto;min-height:151px;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;text-align:right;padding:21px;border-radius:20px;box-shadow:none;transition:border-color .18s,background .18s}
.pfx-tile-icon{width:42px;height:42px;border:1px solid var(--brd-soft);background:var(--panel-2);border-radius:13px;display:grid;place-items:center;color:var(--muted);font-size:23px}.pfx-tile-copy strong{display:block;font-size:18px;line-height:1.6}.pfx-tile-copy small{display:block;font-size:13px;color:var(--muted);margin-top:4px;line-height:1.9}.pfx-selection-mark{position:absolute;left:18px;top:18px;width:22px;height:22px;border:1px solid var(--brd);border-radius:50%;display:grid;place-items:center;font-size:13px;color:transparent}
.pfx .pfx-tile[aria-checked=true],.pfx .pfx-segment[aria-checked=true],.pfx .pfx-chip[aria-pressed=true]{background:color-mix(in srgb,var(--gold) 9%,var(--panel));border-color:var(--gold);color:var(--gold)}.pfx .pfx-tile[aria-checked=true] .pfx-tile-icon{color:var(--gold)}.pfx .pfx-tile[aria-checked=true] .pfx-selection-mark{color:var(--gold-fg);background:var(--gold);border-color:var(--gold)}.pfx .pfx-tile:hover:not(:disabled){border-color:var(--gold)}
.pfx #property_type_id~.pfx-choices .pfx-tile{min-height:126px;padding:18px}.pfx #property_type_id~.pfx-choices strong{font-size:16px}.pfx .pfx-cards>.pfx-picker-trigger{margin-top:16px}.pfx .pfx-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;width:100%;padding:12px 16px;text-align:right}.pfx .pfx-picker-trigger .bi{font-size:15px;color:var(--gold)}.pfx .pfx-picker-trigger .ph{color:var(--faint)}
.pfx .pfx-segments>.pfx-choices{display:flex;gap:8px;flex-wrap:wrap}.pfx .pfx-segment.pf-dd-btn{height:auto;flex:1;min-width:70px;min-height:50px;padding:9px 12px;text-align:center;display:flex;align-items:center;justify-content:center;border-radius:13px;font-size:15px;white-space:normal}
.pfx .pfx-utilities>.pfx-choices{display:flex;gap:10px;flex-wrap:wrap}.pfx .pfx-chip{min-height:49px;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 15px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--ink);font-family:inherit;font-size:15px}.pfx .pfx-chip .bi{font-size:17px;color:var(--gold)}.pfx .pfx-disabled button{opacity:.5;cursor:default}.pfx button:focus-visible,.pfx-picker button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pfx .pfx-datalist{display:flex;align-items:center;border:1px solid var(--brd);border-radius:15px;background:var(--panel);min-height:58px}.pfx .pfx-datalist>input.form-control{border:0!important;background:transparent!important;box-shadow:none!important;padding-inline-end:5px;flex:1;width:100%;min-width:0}.pfx .pfx-location-open.pf-dd-btn{width:44px;height:44px;min-height:44px;padding:0;flex:0 0 44px;border:0;background:none;display:grid;place-items:center;color:var(--gold);font-size:15px}.pfx .pfx-datalist:focus-within{border-color:var(--gold)}
.pfx [data-property-step="7"]>.row,.pfx [data-property-step="8"]>.row{display:flex;gap:10px;flex-wrap:wrap}.pfx [data-property-step="7"]>.row>[class*=col-],.pfx [data-property-step="8"]>.row>[class*=col-]{width:auto;max-width:100%}.pfx .feature-card{width:auto;min-height:49px;height:auto;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 15px;margin:0;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--ink);position:relative}.pfx .feature-card .fc-name{font-size:15px;line-height:1.8;white-space:normal}.pfx .feature-card .fc-toggle{display:none}.pfx .feature-card input{display:block!important;position:absolute;opacity:0;width:1px;height:1px;padding:0}.pfx-chip-icon{font-size:17px;color:var(--gold)}.pfx .pfx-chip-check{display:none;font-size:14px;color:var(--gold)}.pfx .feature-card:has(input:checked){background:color-mix(in srgb,var(--gold) 9%,var(--panel));border-color:var(--gold);color:var(--gold)}.pfx .feature-card:has(input:checked) .pfx-chip-check{display:grid}.pfx .feature-card:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.pfx .step-actions{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"prev . next" "tools tools start";gap:14px 12px;align-items:center;padding-top:26px;margin-top:30px;border-top:1px solid var(--brd)}.pfx .step-actions .form-tools{display:contents}.pfx #propertyStepNext,.pfx #propertyStepSubmit{grid-area:next;justify-self:end;min-width:130px;min-height:52px;padding:12px 24px;border-radius:15px;background:color-mix(in srgb,var(--gold) 11%,var(--panel));color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 50%,var(--brd));font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:none}.pfx #propertyStepPrev{grid-area:prev;justify-self:start;border:1px solid var(--brd);background:var(--panel);color:var(--muted);padding:12px 21px;min-height:52px;border-radius:15px;font-size:16px;display:flex;align-items:center;gap:10px}.pfx #propertyStepRestart{grid-area:tools;justify-self:start}.pfx #gotoStart{grid-area:start;justify-self:end}.pfx #propertyStepRestart,.pfx #gotoStart{background:none;border:0;padding:5px 0;color:var(--muted);font-size:12px;min-height:44px;box-shadow:none}
.pfx .media-dropzone{display:flex;flex-direction:column;align-items:center;gap:0;padding:30px 20px;text-align:center;border:1px dashed color-mix(in srgb,var(--gold) 42%,var(--brd));border-radius:20px;background:var(--panel);box-shadow:none;min-height:250px}.pfx .media-dropzone-icon{width:55px;height:55px;min-width:55px;margin:0 0 16px;border:1px solid var(--brd);border-radius:18px;background:var(--panel-2);display:grid;place-items:center}.pfx .media-dropzone-copy strong{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:23px;color:var(--ink)}.pfx .media-dropzone-copy small{font-size:13px;color:var(--muted);margin-top:9px}.pfx .media-dropzone-action{margin-top:20px;background:color-mix(in srgb,var(--gold) 11%,var(--panel));border:1px solid color-mix(in srgb,var(--gold) 50%,var(--brd));border-radius:15px;padding:12px 24px;color:var(--gold);font-size:15px;min-height:50px}.pfx .media-upload-limits{font-size:11px;line-height:1.9;margin-top:14px}.pfx .slot-reorder-hint{font-size:12px;line-height:2}.pfx .slot-remove-btn{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:12px}.pfx .fixed-image-slots{gap:12px}.pfx .slot-card{border-radius:14px;background:var(--panel);border-color:var(--brd)}
.pfx-summary{padding:23px;border:1px solid var(--brd);border-radius:24px;background:var(--panel-2);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);position:sticky;top:112px;min-width:0}.pfx-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.pfx-summary-heading .pfx-eyebrow{margin:0}.pfx-live-label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}.pfx-live-label::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold)}.pfx-mini-cover{height:141px;border:1px solid var(--brd);background:var(--panel);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;color:var(--muted);font-size:11px}.pfx-mini-cover>.bi{font-size:30px;color:var(--gold)}.pfx-mini-cover>img{width:100%;height:100%;object-fit:cover}.pfx-summary h2{font-family:inherit;font-size:17px;line-height:1.9;color:var(--ink);margin:18px 0 0;overflow-wrap:anywhere}.pfx-summary>p{font-size:12px;color:var(--muted);margin:5px 0 0}.pfx-summary-data{margin:20px 0 0}.pfx-summary-data>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--brd-soft)}.pfx-summary-data dt{font-size:12px;color:var(--muted);white-space:nowrap}.pfx-summary-data dd{font-size:13px;font-weight:700;color:var(--ink);text-align:left;max-width:70%;margin:0;overflow-wrap:anywhere}.pfx-summary-tip{display:flex;gap:10px;margin-top:21px;padding-top:22px;border-top:1px solid var(--brd)}.pfx-summary-tip>.bi{width:28px;height:28px;flex:0 0 28px;color:var(--gold);font-size:17px}.pfx-summary-tip strong{font-size:12px;color:var(--ink)}.pfx-summary-tip p{font-size:11px;line-height:2;color:var(--muted);margin:6px 0 0}.pfx-privacy-note{display:flex;align-items:flex-start;justify-content:center;gap:8px;font-size:11px;color:var(--muted);margin:16px 0 0;line-height:1.9}.pfx-privacy-note .bi{margin-top:3px;font-size:14px}
.pfx-picker{width:510px;max-width:calc(100% - 32px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);padding:25px;border:1px solid var(--brd);border-radius:25px;background:var(--menu-bg);color:var(--ink);font-family:iranyekan,sans-serif;box-shadow:0 35px 100px -25px rgba(0,0,0,.55);overscroll-behavior:contain}.pfx-picker::backdrop{background:rgba(7,15,11,.6);backdrop-filter:blur(5px)}.pfx-sheet-handle{display:none}.pfx-picker-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.pfx-picker-header h2{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:25px;line-height:1.5;margin:0}.pfx-picker-help{font-size:12px;color:var(--muted);margin:5px 0 0}.pfx-icon-button{width:44px;height:44px;flex:0 0 44px;padding:0;display:grid;place-items:center;border:1px solid var(--brd);border-radius:14px;color:var(--ink);background:var(--panel);font-size:18px}.pfx-picker-search{display:flex;align-items:center;gap:12px;padding:0 14px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);margin-bottom:15px}.pfx-picker-search input{width:100%;min-width:0;min-height:50px;padding:13px 0;font:16px iranyekan,sans-serif;color:var(--ink);border:0;background:transparent;outline:none}.pfx-picker-search .bi{font-size:18px;color:var(--muted)}.pfx-picker-search:focus-within{border-color:var(--gold)}.pfx-picker-options{max-height:380px;min-height:96px;overflow-y:auto;display:flex;flex-direction:column;gap:5px;scrollbar-width:thin}.pfx-picker-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:13px 16px;border:1px solid transparent;border-radius:12px;background:none;text-align:right;color:var(--ink);font:16px iranyekan,sans-serif;cursor:pointer}.pfx-picker-option:hover,.pfx-picker-option:focus-visible{background:var(--panel);border-color:var(--brd)}.pfx-picker-option[aria-pressed=true]{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,transparent);background:color-mix(in srgb,var(--gold) 10%,var(--panel))}.pfx-picker-option:disabled{opacity:.45;cursor:default}.pfx-picker-option .bi{font-size:18px}.pfx-empty-options{font-size:14px;text-align:center;color:var(--muted);padding:25px 16px;line-height:2}.pfx-picker-clear{min-height:44px;margin-top:8px;padding:7px 0;font:12px iranyekan,sans-serif;color:var(--muted);background:none;border:0;cursor:pointer}
@media(min-width:1200px){.pfx .pfx-cards>.pfx-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1020px){.pfx-workspace{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.pfx .form-modern{padding:26px}.pfx-summary{padding:20px}}
@media(max-width:820px){.pfx-workspace{grid-template-columns:minmax(0,1fr)}.pfx-summary{display:none}.pfx .form-modern{padding:28px}.pfx-page>.wrap{max-width:680px!important}.pfx-page-heading h1{font-size:33px}}
@media(max-width:520px){.pfx .pfx-page-heading{margin:8px 0 21px}.pfx-page-heading h1{font-size:30px}.pfx-page-heading p{font-size:13px}.pfx .pfx-eyebrow{font-size:11px}.pfx .modern-progress{padding:16px 17px 0!important;border-radius:19px;margin-bottom:12px!important}.pfx .step-meta,.pfx .step-label,.pfx .step-number{font-size:13px}.pfx .modern-progress .step-icons{gap:15px;padding-bottom:13px}.pfx .modern-progress .icon-label{font-size:10px}.pfx .form-modern{padding:21px 17px;border-radius:21px}.pfx-card-heading{gap:10px;margin-bottom:23px}.pfx-card-heading h2{font-size:26px}.pfx-card-heading p{font-size:12px;line-height:2}.pfx-section-icon{width:42px;height:42px;flex-basis:42px;border-radius:14px;font-size:20px}.pfx .pfx-cards>.pfx-choices{gap:10px}.pfx .pfx-tile.pf-dd-btn{padding:17px 13px;min-height:145px;border-radius:17px;gap:12px}.pfx-tile-icon{width:39px;height:39px;font-size:22px;border-radius:12px}.pfx-tile-copy strong{font-size:17px}.pfx-tile-copy small{font-size:11px}.pfx-selection-mark{top:13px;left:12px;width:19px;height:19px;font-size:11px}.pfx #property_type_id~.pfx-choices .pfx-tile{padding:16px 13px;min-height:116px}.pfx #property_type_id~.pfx-choices strong{font-size:15px}.pfx .property-step>.row{grid-template-columns:minmax(0,1fr);gap:22px}.pfx .form-control{font-size:16px!important;min-height:57px}.pfx .pf-dd-btn{font-size:16px;min-height:57px}.pfx .pfx-segment.pf-dd-btn{font-size:14px;min-height:49px;padding:9px 10px}.pfx .pfx-chip,.pfx .feature-card .fc-name{font-size:14px}.pfx .feature-card{padding:10px 13px}.pfx .step-actions{margin-top:25px;padding-top:22px;gap:12px 10px;grid-template-columns:1fr 1fr;grid-template-areas:"prev next" "tools start"}.pfx #propertyStepNext,.pfx #propertyStepSubmit,.pfx #propertyStepPrev{min-width:0;width:100%;font-size:15px;padding:11px 17px;min-height:52px}.pfx #propertyStepRestart,.pfx #gotoStart{font-size:11px}.pfx .media-dropzone{padding:25px 16px}.pfx .media-dropzone-copy strong{font-size:22px}.pfx .media-dropzone-copy small{font-size:12px}.pfx .media-upload-limits{font-size:10px}.pfx .fixed-image-slots{gap:10px}.pfx-privacy-note{font-size:10px;text-align:center}.pfx-picker{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:80vh;max-height:80dvh;padding:14px 20px max(18px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;border-bottom:0}.pfx-sheet-handle{display:block;width:38px;height:4px;border-radius:8px;background:var(--brd);margin:0 auto 19px}.pfx-picker-header{margin-bottom:16px}.pfx-picker-options{max-height:calc(80vh - 235px);max-height:calc(80dvh - 235px)}.pfx-picker-option{min-height:55px}.pfx-picker-help{font-size:11px}}
@media(max-width:350px){.pfx .form-modern{padding:20px 14px}.pfx-card-heading h2{font-size:24px}.pfx-card-heading p{font-size:11px}.pfx .pfx-tile.pf-dd-btn{padding:15px 12px;min-height:139px}.pfx-tile-copy strong{font-size:16px}.pfx #property_type_id~.pfx-choices strong{font-size:14px}.pfx .pfx-segment.pf-dd-btn{font-size:13px;min-width:67px}}
@media(max-width:520px){.pfx .media-dropzone{padding:25px 16px!important}}
@media(prefers-reduced-motion:reduce){.pfx *,.pfx-picker *{transition:none!important;animation:none!important}}

/* Home city story — scoped, local SVG; shared theme tokens. */
.city-story{--solid:var(--menu-bg);--pin:#ed6865;--pin-ink:#fff5f3;position:relative;display:flex;flex-direction:column;width:100%;min-width:0;min-height:480px;height:calc(100vh - 116px);height:calc(100svh - 116px);border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden}
html[data-theme="light"] .city-story{--pin:#c84147;--pin-ink:#fff}
.city-story [hidden],.city-story[data-ready="1"] .cs-static{display:none!important}
.city-story .cs-eyebrow{margin:26px 68px 0;text-align:center;color:var(--muted);font-size:13px}
.city-story .cs-map-frame{position:relative;flex:1;min-height:0}
.city-story .city-map{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.city-story .organic-road{fill:none;stroke:color-mix(in srgb,var(--muted) 85%,transparent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.city-story .organic-road.primary-road{stroke:color-mix(in srgb,var(--gold) 65%,var(--muted));stroke-width:2.5}.cs-house-shadow{fill:var(--brd-soft)}.cs-house-wall{fill:var(--solid);stroke:color-mix(in srgb,var(--ink) 72%,var(--muted));stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cs-house-roof{fill:color-mix(in srgb,var(--gold) 7%,var(--solid));stroke:var(--gold);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.cs-house-line{fill:none;stroke:var(--muted);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.cs-house-door,.cs-house-window,.cs-house-attic{fill:color-mix(in srgb,var(--gold) 5%,var(--solid));stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.cs-house-window-bar{fill:none;stroke:var(--gold);stroke-width:1.2;stroke-linecap:round}.cs-house-knob{fill:var(--gold);stroke:none}.city-story .house-number{fill:var(--muted);font:700 16px iranyekan,sans-serif;text-anchor:middle}.city-story .lot-ring{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-dasharray:4 6}.city-story .selected-lot{fill:color-mix(in srgb,var(--gold) 6%,transparent);stroke:var(--gold);stroke-width:1.8}.city-story .selected-tick circle{fill:var(--gold);stroke:var(--solid);stroke-width:3}.city-story .selected-tick path{fill:none;stroke:var(--gold-fg);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.city-story .comparison-line{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-dasharray:5 7}.city-story .scan-outer,.city-story .scan-inner{fill:none;stroke:var(--pin);stroke-width:1.6}.city-story .scan-outer{opacity:.28}.city-story .scan-inner{opacity:.45}.cs-pin-body{fill:var(--pin);stroke:color-mix(in srgb,var(--pin) 70%,var(--pin-ink));stroke-width:1.3}.cs-pin-hole{fill:var(--pin-ink)}.city-story .firework-ray,.city-story .firework-rocket{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linecap:round}.city-story .firework-ray:nth-child(3n){stroke:var(--ink);stroke-width:1.8}.city-story .firework-dot{fill:var(--gold)}

.city-story .deal-paper{fill:var(--solid);stroke:var(--gold);stroke-width:2}.city-story .deal-lines{fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.city-story .deal-sign{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-dasharray:50}.city-story .deal-document #csDealSeal circle{fill:var(--gold);stroke:var(--solid);stroke-width:2}.city-story .deal-document #csDealSeal path{fill:none;stroke:var(--gold-fg);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.city-story .story-slogan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(800px,calc(100% - 48px));margin:0 auto;padding:12px 0}
.city-story .slogan-step{display:flex;justify-content:center;align-items:center;gap:12px;color:var(--muted);font:700 clamp(22px,2.8vw,36px)/1.6 PropertyDisplay,iranyekan,sans-serif;white-space:nowrap}
.city-story .cs-step-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px}
.city-story .cs-step-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.city-story .step-connector{display:none}
.city-story .slogan-step.is-active{color:var(--gold)}
.city-story .slogan-step.is-active .cs-step-icon{color:var(--gold)}
.city-story .cs-discover{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;width:fit-content;margin:2px auto 16px;font-size:12px;color:var(--muted)}
.city-story .cs-discover svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.city-story .cs-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-legal-intro{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:28px;align-items:center;margin:12px 0 24px}
.home-legal-intro h2{margin:0 0 12px}
.home-legal-intro p{max-width:52ch;margin:0;color:var(--muted);line-height:1.9}
[data-home-hero-story]:not([data-running="true"]) .ha *,[data-home-hero-story]:not([data-running="true"]) .ha-svg{animation-play-state:paused!important}
[data-home-hero-story]:not([data-service-ready]) .ha-sc{animation:none!important;opacity:0}
[data-home-hero-story]:not([data-service-ready]) .ha-s1{opacity:1}
[data-home-hero-story]:not([data-service-ready]) .ha-s1 :is(.ha-ln,.ha-gold){animation:none!important;stroke-dashoffset:0!important}
@media(max-width:700px){.city-story{height:calc(100vh - 180px);height:calc(100svh - 180px);min-height:420px}.city-story .cs-eyebrow{margin-top:22px;font-size:11px}.city-story .story-slogan{width:calc(100% - 28px);gap:5px}.city-story .slogan-step{flex-direction:column;gap:5px;font-size:24px}.city-story .cs-step-icon{width:32px;height:32px;flex-basis:32px}.city-story .cs-step-icon svg{width:22px;height:22px}.city-story .cs-discover{margin-bottom:8px;font-size:11px}:is(.cs-house-line,.cs-house-roof,.cs-house-wall,.cs-house-window,.cs-house-door){vector-effect:non-scaling-stroke;stroke-width:1.3}}
@media(prefers-reduced-motion:reduce){.city-story *{animation:none!important;transition:none!important}.city-story :is(.firework-ray,.firework-rocket,.firework-dot){display:none}}

/* Approved homepage composition — real data, isolated from inner pages. */
.hp{background:transparent;color:var(--ink);padding-bottom:20px}.hp *{box-sizing:border-box}.hp [hidden]{display:none!important}.hp .wrap{width:min(1220px,calc(100% - 64px));max-width:none;margin-inline:auto;padding:0!important}.hp :is(h1,h2,h3,p,figure){margin:0}.hp :is(h2,h3){font-family:PropertyDisplay,iranyekan,sans-serif;font-weight:700;text-wrap:balance}.hp h2{font-size:35px;line-height:1.5}.hp h3{font-size:25px;line-height:1.5}.hp .glass{background:var(--panel-2)}.hp :is(button,a,input,summary):focus-visible{outline:2px solid var(--gold);outline-offset:4px}.hp :is(section,[id]){scroll-margin-top:120px}.hp .bi{display:grid;place-items:center;flex-shrink:0;line-height:1}.hp .bi::before{display:block;vertical-align:0;line-height:1}
.hp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0}.hp-skip{position:fixed;z-index:300;top:12px;inset-inline-start:20px;padding:12px 18px;border-radius:12px;background:var(--menu-bg);transform:translateY(-180%)}.hp-skip:focus{transform:none}.hp .hp-eyebrow{color:var(--gold);font-size:13px;font-weight:700;line-height:1.8;margin-bottom:9px}.hp-rule{display:inline-block;width:24px;height:1px;vertical-align:middle;background:var(--gold);margin-inline-end:8px}
.hp-button{min-height:50px;padding:12px 22px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--gold);font:700 14px/1.8 iranyekan,sans-serif;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;white-space:normal}.hp-button:hover{border-color:var(--gold)}.hp-primary{background:color-mix(in srgb,var(--gold) 12%,var(--panel));border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}.hp-text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 0;color:var(--gold)!important;font-size:14px;font-weight:700}.hp-text-link:hover{text-decoration:underline}
.hp-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:72px;align-items:center;margin-top:60px!important;margin-bottom:48px!important}.hp-hero-copy{min-width:0}.hp .hp-hero h2{font-size:68px;line-height:1.15;letter-spacing:-1.4px;margin-bottom:20px}.hp-hero h2 em{font-style:normal;color:var(--gold)}.hp .hp-sub{font-size:15px;line-height:2;color:var(--muted);margin-bottom:28px;max-width:510px}.hp-hero-visual{position:relative;min-width:0;max-width:445px;width:100%;justify-self:end;padding-bottom:29px}.hp-hero-photo{width:100%;aspect-ratio:4/5;border:1px solid var(--brd);border-radius:160px 160px 28px 28px;background:var(--panel);background-image:url('/images/home-inspiration.png');background-size:200% 200%;background-position:0 0;background-repeat:no-repeat}.hp-hero-label{position:absolute;inset:auto -20px 63px 22px;border-radius:20px;padding:20px 23px;display:grid;grid-template-columns:1fr 44px;gap:0 16px;background:color-mix(in srgb,var(--menu-bg) 82%,transparent)!important}.hp-hero-label>.hp-eyebrow{grid-column:1;margin:0;font-size:11px}.hp-hero-label strong{grid-column:1;font:700 29px/1.6 PropertyDisplay,iranyekan,sans-serif}.hp-hero-label>span:last-of-type{grid-column:1;color:var(--muted);font-size:12px}.hp-hero-label>.bi{grid-column:2;grid-row:1/4;align-self:center;width:44px;height:44px;font-size:25px;color:var(--gold)}.hp-photo-note{position:absolute;bottom:0;right:3px;font-size:11px;color:var(--muted)}
.hp-search{position:relative;z-index:3;padding:16px;border-radius:22px}.hp-deal-choices{display:flex;flex-wrap:wrap;gap:6px;border:0;border-bottom:1px solid var(--brd);padding:0 0 13px;margin:0 0 14px;min-width:0}.hp .hp-deal{position:relative;flex:1;min-width:60px;margin:0;cursor:pointer}.hp-deal input{position:absolute;width:1px!important;height:1px;opacity:0}.hp-deal>span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;border:1px solid transparent;border-radius:12px;color:var(--muted);font-size:13px;white-space:nowrap}.hp-deal input:checked+span{color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--panel));border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}.hp-deal input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.hp-search-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hp .hp-search-field{position:relative;min-width:0;min-height:86px;padding:11px 13px;margin:0;border:1px solid var(--brd);border-radius:14px;background:var(--panel);text-align:right;display:flex;flex-direction:column;justify-content:center;gap:7px}.hp-search-field>label,.hp-search-field>span{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px;margin:0}.hp-search-field .bi{color:var(--gold);font-size:17px}.hp-search .gsel{border:0;background:transparent;min-height:0;padding:0;border-radius:0}.hp-search .gsel-btn{padding:0;min-height:36px;font-size:15px;font-weight:700}.hp-search .gsel-list{min-width:240px;max-width:calc(100vw - 50px);inset-inline:0 auto;background:var(--menu-bg);z-index:30}.hp-search .gsel-opt{min-height:48px;font-size:15px;line-height:1.8}.hp-search .gsel-list .gsel-opt{white-space:normal}.hp-search-field:focus-within{border-color:var(--gold)}.hp-city-input{display:flex;align-items:center;gap:5px;min-width:0}.hp .hp-city-input>input{min-width:0;width:100%;height:36px;min-height:36px;padding:0;border:0;background:transparent;outline:0;box-shadow:none;font-size:16px;font-weight:700;color:var(--ink)}.hp-city-input input::placeholder{color:var(--ink);opacity:1}.hp-city-input>button{width:32px;height:44px;flex:0 0 32px;min-width:32px;border:0;background:transparent;display:grid;place-items:center;padding:0;font-size:23px;color:var(--muted);cursor:pointer}.hp-search-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.hp-search-bottom>span{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.hp-search-bottom>span .bi{color:var(--gold);font-size:13px}.hp-search-bottom .hp-button{min-width:142px}.hp .hp-search-help{font-size:11px;color:var(--muted);line-height:1.9;margin-top:11px;min-height:21px}.hp-search-help[data-error=true]{color:var(--danger,#c84b47)}.hp-helper{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12px;color:var(--muted)}.hp-helper .hp-text-link{font-size:12px}
.hp-city-menu{position:absolute;inset:calc(100% + 8px) 0 auto auto;width:max(100%,280px);max-width:calc(100vw - 50px);max-height:300px;overflow-y:auto;overscroll-behavior:contain;background:var(--menu-bg);border:1px solid var(--brd);border-radius:16px;padding:7px;z-index:35;box-shadow:0 16px 35px -20px rgba(0,0,0,.5)}.hp-city-menu>[role=option]{display:flex;align-items:center;gap:9px;min-height:48px;padding:11px;border:1px solid transparent;border-radius:10px;font-size:15px;color:var(--ink);cursor:pointer}.hp-city-menu>[aria-selected=true],.hp-city-menu>[role=option]:hover{color:var(--gold);background:var(--panel);border-color:var(--brd)}.hp-city-menu small{font-size:11px;color:var(--muted);margin-inline-start:auto}.hp-city-menu>p{font-size:13px;padding:14px;color:var(--muted)}
.hp-search .gsel{-webkit-backdrop-filter:none;backdrop-filter:none}.hp-search .gsel-label.ph{color:var(--ink)}.hp-search-fields>label:nth-child(2) .gsel-list{inset-inline:auto 0}.hp-search .gsel-btn{min-height:44px}.hp-city-input>button{width:44px;flex-basis:44px;min-width:44px}.hp .hp-city-input>input{height:44px;min-height:44px}
.hp .hp-deal{flex:1 0 auto;min-width:0}.hp-deal>span{padding-inline:12px;white-space:normal;text-align:center}
.hp-categories{display:flex;align-items:center;gap:30px;padding-block:28px!important;border-block:1px solid var(--brd);margin-top:120px; margin-bottom:62px!important}.hp-category-heading{white-space:nowrap}.hp-category-heading .hp-eyebrow{font-size:11px;margin-bottom:4px}.hp-category-heading strong{font:700 23px PropertyDisplay,iranyekan,sans-serif}.hp-category-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;flex:1;min-width:0}.hp-category-list a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:70px;padding:10px 7px;border:1px solid var(--brd);border-radius:16px;background:var(--panel);font-size:12px}.hp-category-list .bi{font-size:23px;color:var(--gold)}.hp-category-list small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.hp-category-list a:hover{border-color:var(--gold)}
.hp-section{margin-bottom:66px!important}.hp-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:25px}.hp-section-head .hp-eyebrow{margin-bottom:6px}.hp-section-head>.hp-text-link{flex-shrink:0}.hp-listing-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.hp-listing-tabs a{min-height:44px;padding:9px 17px;display:flex;align-items:center;gap:7px;border:1px solid var(--brd);background:var(--panel);border-radius:13px;font-size:13px;color:var(--muted)}.hp-listing-tabs a:hover{border-color:var(--gold);color:var(--gold)}.hp-showcase+.hp-showcase{margin-top:100px}.hp-showcase-head{margin-bottom:18px}.hp-showcase-head h3{font-size:25px}.hp-showcase-head p{font-size:12px;line-height:1.9;color:var(--muted)}.hp .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hp .prop{min-width:0;border-radius:23px;background:var(--panel-2)}.hp .prop .b{padding:18px 19px}.hp .prop h3{font-size:18px;line-height:1.6;overflow-wrap:anywhere}.hp .prop .loc{font-size:12px}.hp .prop .specs{font-size:12px;gap:10px}.hp .prop .price{font-size:17px}.hp .prop .fav,.hp .prop .mini{min-width:44px;min-height:44px;display:grid;place-items:center}.hp .prop .cg-arrow{min-width:44px;min-height:44px}.hp-more{text-align:center;margin-top:27px}.hp-more .hp-button{min-width:240px}.hp-empty{padding:30px 22px;grid-column:1/-1;font-size:14px;line-height:2;color:var(--muted)}.hp-empty a{color:var(--gold);text-decoration:underline}
.hp-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-block:70px!important}.hp-tool{border-radius:24px;padding:28px;display:flex;align-items:flex-start;gap:20px}.hp-tool>div{min-width:0}.hp-section-icon{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border:1px solid var(--brd);border-radius:16px;background:var(--panel);color:var(--gold);font-size:23px}.hp-tool p:not(.hp-eyebrow){font-size:13px;color:var(--muted);margin-top:10px;line-height:2}.hp-tool .hp-button{margin-top:22px;font-size:13px}.hp-match{margin-bottom:65px}.hp .hp-match .block{padding:0}.hp-match .s-head{margin-bottom:22px}.hp-match .s-head h2{font-size:30px}.hp-match .s-head p{font-size:13px;line-height:2}.hp-match .kick{background:none;border:0;padding:0;margin-bottom:8px;color:var(--gold)}.hp-match .aiw{padding:28px;border-radius:24px;background:var(--panel-2)}
.hp .hp-seller{padding:43px!important;border-radius:28px;display:grid;grid-template-columns:180px 1fr 245px;gap:40px;align-items:center;margin-bottom:70px}.hp-seller h2{font-size:40px;line-height:1.35}.hp-seller p:not(.hp-eyebrow){font-size:13px;color:var(--muted);max-width:390px;margin:15px 0 22px;line-height:2}.hp-plan{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:95px 55px;gap:7px;transform:rotate(-5deg);padding:12px;border:2px solid color-mix(in srgb,var(--gold) 40%,var(--brd));background:var(--panel);border-radius:16px}.hp-plan>span{border:1px solid var(--brd);background:var(--panel-2);display:grid;place-items:center;font-size:38px;color:var(--gold);border-radius:3px}.hp-plan>span:first-child{grid-row:1/3}.hp-seller-notes{display:flex;flex-direction:column;gap:19px;font-size:13px;color:var(--muted);padding-inline-start:25px;border-inline-start:1px solid var(--brd)}.hp-seller-notes>span{display:flex;align-items:center;gap:11px}.hp-seller-notes .bi{font-size:19px;color:var(--gold)}
.hp-services{display:grid;grid-template-columns:1fr 1fr;gap:28px}.hp-legal-composition{position:relative;min-width:0;min-height:390px;padding:18px!important;border:1px solid var(--brd);border-radius:26px;background:var(--panel);display:flex;flex-direction:column;gap:18px}.hp-legal-photo{height:236px;border-radius:18px;overflow:hidden;background:var(--panel)}.hp-legal-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.hp-legal-art{position:absolute;left:18px;bottom:20px;width:208px;height:224px;padding:10px 12px 14px;border-radius:23px;background:color-mix(in srgb,var(--menu-bg) 88%,transparent)!important;border-color:color-mix(in srgb,var(--gold) 38%,var(--brd));display:flex;flex-direction:column;align-items:center;justify-content:center}.hp-legal-art .la-svg{width:100%;height:auto;flex:1;min-height:0}.hp-legal-art>span{font-size:10px;color:var(--gold);text-align:center;line-height:1.5}.hp-legal-composition figcaption{padding-inline:9px 225px;padding-bottom:8px}.hp-legal-composition figcaption .hp-eyebrow{font-size:11px;margin-bottom:6px}.hp-legal-composition figcaption strong{display:block;font:700 25px/1.4 PropertyDisplay,iranyekan,sans-serif}.hp-service-list{display:flex;flex-direction:column;justify-content:space-between;gap:13px}.hp-service{display:flex;align-items:center;gap:19px;border-radius:19px;padding:18px 20px;text-align:right}.hp-service>span:nth-child(2){flex:1;min-width:0}.hp-service strong{display:block;font:700 23px/1.5 PropertyDisplay,iranyekan,sans-serif}.hp-service small{display:block;margin-top:5px;font-size:12px;line-height:1.9;color:var(--muted)}.hp-service>.bi{font-size:19px;color:var(--gold)}.hp-service:hover{border-color:var(--gold)}.hp-service-foot{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:center;gap:35px;max-width:1000px;margin:36px auto 0;padding-top:28px;border-top:1px solid var(--brd)}.hp-service-foot p:not(.hp-eyebrow){font-size:13px;line-height:2;color:var(--muted);margin-top:10px}
.hp-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.hp-team-card{min-width:0;display:flex;align-items:center;gap:15px;padding:20px;border-radius:20px}.hp-team-card>img{width:64px;height:64px;flex:0 0 64px;object-fit:cover;border:1px solid var(--brd);border-radius:19px;background:var(--panel)}.hp-team-card>div{min-width:0;flex:1}.hp-team-card h3{font-size:22px;overflow-wrap:anywhere}.hp-team-card p{font-size:12px;color:var(--muted);margin-top:5px}.hp-team-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.hp-team-links a{width:44px;height:44px;border:1px solid var(--brd);border-radius:12px;display:grid;place-items:center;font-size:17px;color:var(--gold)}
.hp .hp-news{display:flex;align-items:center;gap:24px;padding:32px!important;border-radius:25px;margin-block:65px}.hp-news>div{flex:1;min-width:0}.hp-news h2{font-size:30px}.hp-news p:not(.hp-eyebrow){font-size:12px;color:var(--muted);margin-top:8px;line-height:2}.hp-news form{display:flex;gap:9px;align-items:center;flex-wrap:wrap;max-width:370px}.hp-news input{width:180px;flex:1;min-width:130px;min-height:50px;padding:12px 15px;font:16px iranyekan,sans-serif;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--ink);direction:rtl}.hp-news .hp-button{flex:0 0 auto}
.hp-faq{max-width:850px!important;margin-bottom:60px!important}.hp-faq details{padding:19px 23px;border-radius:17px;margin-bottom:12px;box-shadow:none}.hp-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:700;cursor:pointer;min-height:44px}.hp-faq summary::-webkit-details-marker{display:none}.hp-faq summary .bi{color:var(--gold)}.hp-faq details[open] summary .bi{transform:rotate(45deg)}.hp-faq details p{font-size:14px;color:var(--muted);padding-top:15px;line-height:2.1}.hp-faq details p a{color:var(--gold);text-decoration:underline}.hp-mobile-nav{display:none}
@media(min-width:1600px){.hp .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.hp-hero{gap:45px}.hp .hp-hero h2{font-size:60px}.hp-category-heading{display:none}.hp .hp-seller{grid-template-columns:150px 1fr;gap:35px}.hp-seller-notes{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;border:0;border-top:1px solid var(--brd);padding:23px 0 0;gap:20px}.hp-plan{grid-template-rows:85px 50px}.hp-seller h2{font-size:36px}.hp-team{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-legal-art{width:180px;height:207px}.hp-legal-composition figcaption{padding-inline-end:193px}.hp-legal-composition figcaption strong{font-size:23px}}
@media(max-width:950px){.hp-hero{grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:32px}.hp .hp-hero h2{font-size:51px}.hp .hp-sub{font-size:14px}.hp-hero-label{inset-inline:-10px 12px;padding:18px}.hp-hero-label strong{font-size:25px}.hp-search-bottom>span{display:none}.hp-search-bottom .hp-button{width:100%}.hp .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hp-tools{gap:18px}.hp-tool{padding:22px;gap:14px}.hp-tool .hp-section-icon{width:44px;height:44px;flex-basis:44px;font-size:20px}.hp-tool h3{font-size:22px}.hp-tool .hp-eyebrow{font-size:11px}.hp-services{gap:20px}.hp .hp-news{padding:26px!important;flex-wrap:wrap}.hp-news form{margin-inline-start:74px;max-width:none;flex:1 1 100%}.hp-section-head h2{font-size:31px}.hp-category-list a{flex-direction:column;text-align:center}.hp-category-list small{font-size:9px}}
@media(max-width:760px){.hp .wrap{width:calc(100% - 36px)}.hp-hero{grid-template-columns:1fr;margin-top:36px!important;margin-bottom:28px!important;max-width:620px!important}.hp-hero-visual{display:none}.hp-hero-copy>.hp-eyebrow{font-size:12px}.hp .hp-hero h2{font-size:53px;line-height:1.2}.hp .hp-sub{font-size:14px;max-width:480px;margin-bottom:22px}.hp-search{padding:17px;border-radius:21px}.hp-search-bottom .hp-button{min-height:52px}.hp-helper{justify-content:center;margin-top:7px}.hp .hp-categories{padding-block:19px!important;margin-bottom:38px!important;margin-top: 40px}.hp-category-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hp-category-list a{min-height:85px;flex-direction:row;font-size:13px}.hp-section-head{gap:15px;margin-bottom:20px}.hp-section-head h2{font-size:29px}.hp-section-head .hp-eyebrow{font-size:11px}.hp-section-head>.hp-text-link{font-size:12px}.hp-showcase-head{flex-direction:column;gap:7px}.hp-showcase+.hp-showcase{margin-top:70px}.hp-tools{grid-template-columns:1fr;margin-block:40px!important}.hp-tool h3{font-size:26px}.hp .hp-seller{padding:28px!important;grid-template-columns:1fr;margin-bottom:42px!important;gap:25px}.hp-plan{display:none}.hp-seller h2{font-size:37px}.hp-seller h2 br{display:none}.hp-seller-notes{padding-top:18px;font-size:12px;gap:15px}.hp-seller-notes span{width:100%}.hp-services{grid-template-columns:1fr}.hp-legal-composition{min-height:365px;gap:19px}.hp-legal-photo{height:220px}.hp-legal-art{width:190px;height:205px;left:16px;bottom:19px;padding:10px}.hp-legal-art>span{font-size:10px}.hp-legal-composition figcaption{padding-inline:7px 202px}.hp-legal-composition figcaption strong{font-size:24px}.hp-section{margin-bottom:42px!important}.hp-service-foot{grid-template-columns:1fr;gap:20px;text-align:center}.hp-team{grid-template-columns:1fr}.hp-team-card{padding:18px}.hp-team-card h3{font-size:23px}.hp .hp-news{margin-block:42px!important}.hp-faq{margin-bottom:35px!important}.hp-faq summary{font-size:14px}.hp-faq details{padding:16px 18px}}
@media(max-width:520px){.hp .wrap{width:calc(100% - 28px)}.hp-hero{margin-top:27px!important}.hp .hp-hero h2{font-size:46px;letter-spacing:-.6px;margin-bottom:15px}.hp .hp-sub{font-size:13px;max-width:350px}.hp-hero-copy>.hp-eyebrow{font-size:11px;margin-bottom:10px}.hp-search{padding:13px;border-radius:20px}.hp-deal-choices{gap:3px;margin-bottom:12px;padding-bottom:12px}.hp-deal>span{font-size:12px;padding:8px 3px;border-radius:10px}.hp .hp-search-field{padding:10px;min-height:82px;gap:5px}.hp-search-fields{gap:9px}.hp-search-field>label,.hp-search-field>span{font-size:10px}.hp-search .gsel-btn{font-size:14px}.hp-search-field .bi{font-size:15px}.hp-search-all strong{font-size:14px}.hp-search .hp-search-all{gap:8px}.hp-search-all>.bi:last-child{display:none}.hp .hp-search-help{font-size:10px}.hp-search-bottom .hp-button{font-size:15px}.hp-helper,.hp-helper .hp-text-link{font-size:11px;gap:7px}.hp-category-list a{font-size:12px;padding:11px 7px;min-height:83px;flex-direction:column;gap:7px}.hp-category-list .bi{font-size:22px}.hp-category-list small{font-size:10px}.hp-section-head{align-items:flex-start;flex-wrap:wrap;gap:6px}.hp-section-head>.hp-text-link{padding:3px 0}.hp-listing-tabs{gap:6px}.hp-listing-tabs a{flex:1;justify-content:center;font-size:12px;padding:8px}.hp .grid{grid-template-columns:1fr;gap:20px}.hp .prop{max-width:470px;width:100%;margin-inline:auto;border-radius:22px}.hp .prop .b{padding:17px 19px}.hp .prop h3{font-size:20px}.hp .prop .loc,.hp .prop .specs{font-size:12px}.hp .prop .price{font-size:17px}.hp-more .hp-button{width:100%;font-size:13px}.hp-tool{padding:22px 20px}.hp-tool h3{font-size:24px}.hp-tool .hp-button{font-size:12px}.hp-match .s-head h2{font-size:27px}.hp-match .s-head p{font-size:12px}.hp-match .aiw{padding:22px 17px}.hp .hp-seller{padding:25px 22px!important;gap:24px}.hp-seller h2{font-size:33px}.hp-seller h2 br{display:block}.hp-seller .hp-button{width:100%}.hp-service{padding:16px 17px;gap:13px}.hp-service .hp-section-icon{width:44px;height:44px;flex-basis:44px;font-size:21px}.hp-service small{font-size:11px}.hp-legal-composition{min-height:322px;padding:12px!important;gap:16px;border-radius:23px}.hp-legal-photo{height:187px;border-radius:15px}.hp-legal-art{width:144px;height:176px;left:12px;bottom:16px;padding:8px;border-radius:19px}.hp-legal-art>span{font-size:9px}.hp-legal-composition figcaption{padding-inline:3px 154px}.hp-legal-composition figcaption .hp-eyebrow{font-size:10px}.hp-legal-composition figcaption strong{font-size:21px}.hp-service-foot{grid-template-columns:1fr;gap:20px;text-align:center}.hp-service-foot .home-city-mini{order:0}.hp-team-card{gap:14px;padding:18px 16px}.hp-team-card h3{font-size:22px}.hp-team-card p{font-size:12px}.hp .hp-news{gap:15px;padding:24px 21px!important}.hp-news h2{font-size:27px}.hp-news .hp-section-icon{width:44px;height:44px;flex-basis:44px;font-size:21px}.hp-news>div{flex-basis:calc(100% - 59px)}.hp-news form{margin-inline-start:0;gap:10px}.hp-news .hp-button{width:100%}.hp-news input{width:100%;min-width:0}.hp-faq details p{font-size:13px}.hp-mobile-nav{position:fixed;bottom:10px;inset-inline:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:22px;padding:9px 4px max(9px,env(safe-area-inset-bottom));z-index:80;background:color-mix(in srgb,var(--menu-bg) 92%,transparent)!important;box-shadow:0 8px 35px -16px rgba(0,0,0,.4)}.hp-mobile-nav>a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;flex-direction:column;font-size:10px;color:var(--muted);border-radius:14px;min-width:0}.hp-mobile-nav .bi{font-size:20px;color:var(--gold)}body:has(.hp) .site-footer-modern{padding-bottom:110px}body:has(.hp-mobile-nav) .cbar{bottom:calc(94px + env(safe-area-inset-bottom))}body:has(.hp-mobile-nav) .to-top{--tt-lift:98px}body.has-cbar:has(.hp-mobile-nav) .to-top{--tt-lift:180px}}
@media(max-width:350px){.hp .hp-hero h2{font-size:42px}.hp-search-field .bi{font-size:14px}.hp .hp-search-field{padding:9px 8px}.hp-search-all strong,.hp-search .gsel-btn{font-size:13px}.hp-deal>span{font-size:11px}.hp-seller h2{font-size:31px}.hp-legal-art{width:126px;height:163px}.hp-legal-composition figcaption{padding-inline-end:133px}.hp-legal-composition figcaption strong{font-size:20px}.hp-legal-photo{height:181px}.city-story .slogan-step{font-size:22px}}
@media(prefers-reduced-motion:reduce){.hp *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Homepage search composition: one shared surface, in-flow photo caption and rounded controls. */
.hp .hp-search-fields{grid-auto-rows:1fr}
.hp .hp-search .hp-search-all{color:var(--ink);text-decoration:none}
.hp .hp-search-all-label{font-weight:600}
.hp .hp-search .hp-search-all-value{display:flex;align-items:center;justify-content:space-between}
.hp .hp-search-all-value strong{flex:1;min-width:0;margin:0;font:inherit;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp .hp-search-all .bi{display:grid;place-items:center;flex:0 0 1em;width:1em;height:1em;line-height:1}
.hp .hp-search-all-value>.bi{font-size:16px;color:var(--muted)}
.hp .hp-search-all:hover,.hp .hp-search-all:hover .hp-search-all-value{border-color:var(--gold)}
.hp .hp-search-all:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-color:var(--gold)}
.hp .hp-hero.hp-search-composition{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:28px;align-items:stretch;padding:28px!important;border:1px solid var(--brd);border-radius:30px;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
.hp-search-composition .hp-hero-copy{display:flex;flex-direction:column;min-width:0}
.hp .hp-search-composition .hp-search{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.hp-search-composition .hp-helper{margin-top:16px}
.hp-search-composition .hp-hero-visual{display:flex;flex-direction:column;align-self:stretch;justify-self:stretch;max-width:none;min-height:460px;padding:0;border:1px solid var(--brd);border-radius:24px;overflow:hidden;background:var(--panel)}
.hp-search-composition .hp-hero-photo{flex:1;min-height:320px;aspect-ratio:auto;border:0;border-radius:0}
.hp-search-composition .hp-hero-caption{padding:20px 22px;border-top:1px solid var(--brd)}
.hp .hp-hero-caption .hp-eyebrow{margin-bottom:7px;font-size:11px;color:var(--muted)}
.hp-hero-caption strong{display:block;font:700 23px/1.7 iranyekan,sans-serif;color:var(--ink)}
.hp-search-composition .hp-photo-note{display:block;position:static;margin-top:8px;font-size:11px;line-height:1.9;color:var(--muted)}
.hp .hp-search-composition .hp-search-field{position:relative;padding:12px;border:1px solid var(--brd-soft);border-radius:18px;background:var(--panel)}
.hp .hp-search .gsel{min-height:0;border-radius:12px}
.hp .hp-search .gsel-btn,.hp .hp-search select:not([data-enhanced]),.hp .hp-search .hp-search-all-value{box-sizing:border-box;width:100%;min-height:48px;padding:9px 12px;border:1px solid var(--brd);border-radius:12px;background:transparent;color:var(--ink);font:600 16px/1.65 iranyekan,sans-serif;gap:8px}
.hp .hp-search .gsel-chev,.hp .hp-search .hp-search-all-value>.bi{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px}
.hp .hp-search .gsel-label{min-width:0;flex:1;text-align:start}
.hp .hp-search .gsel-list{min-width:100%;width:max(100%,240px);max-width:calc(100vw - 56px);padding:7px;border:1px solid var(--brd);border-radius:16px;background:var(--menu-bg);box-shadow:0 16px 36px -20px rgba(0,0,0,.45)}
.hp .hp-search .gsel.drop-up .gsel-list{top:auto;bottom:calc(100% + 8px);transform:translateY(6px)}
.hp .hp-search .gsel.drop-up.open .gsel-list{transform:none}
.hp .hp-search-field:has(#sbType) .gsel-list{inset-inline:auto 0}
.hp .hp-search .gsel-opt{min-height:48px;padding:10px 12px;border-radius:10px;font-size:16px;line-height:1.8}
.hp .hp-search .hp-search-field:has(.gsel.open),.hp .hp-search .hp-location:has(.hp-city-menu:not([hidden])){z-index:6}
.hp .hp-search .hp-city-input{min-height:48px;padding-inline:12px;border:1px solid var(--brd);border-radius:12px;background:var(--panel-2)}
.hp .hp-search .hp-city-input input{min-width:0;height:46px;font-size:16px;background:transparent}
.hp .hp-search .hp-city-input button{width:44px;height:44px;flex:0 0 44px}
.hp .hp-search .hp-city-menu{width:max(100%,240px);max-width:calc(100vw - 56px);border-radius:16px}
@media(max-width:1100px){.hp .hp-hero.hp-search-composition{gap:22px;padding:22px!important}}
@media(max-width:950px){.hp .hp-hero.hp-search-composition{grid-template-columns:1fr;max-width:760px!important}.hp-search-composition .hp-hero-visual{display:none}}
@media(max-width:520px){.hp .hp-hero.hp-search-composition{padding:16px!important;border-radius:24px}.hp .hp-search-composition .hp-search-field{padding:10px;border-radius:16px}.hp .hp-search .gsel-btn,.hp .hp-search select:not([data-enhanced]),.hp .hp-search .hp-search-all-value{padding:9px 8px;gap:6px}.hp .hp-search .gsel-chev,.hp .hp-search .hp-search-all-value>.bi{width:18px;height:18px;flex-basis:18px}.hp .hp-search .hp-city-input{padding-inline:8px}}
@media(max-width:374px){.hp .hp-hero.hp-search-composition{padding:10px!important}.hp .hp-search-composition .hp-search-field{padding:7px}.hp .hp-search .gsel-btn,.hp .hp-search select:not([data-enhanced]),.hp .hp-search .hp-search-all-value{padding:9px 6px;gap:4px}.hp .hp-search .gsel-chev,.hp .hp-search .hp-search-all-value>.bi{width:16px;height:16px;flex-basis:16px}.hp .hp-search .hp-city-input{padding-inline:6px}}

/* Shared input typography: controls, labels and choices never exceed weight 600. */
html[data-theme] :is(input,textarea,select,option,optgroup,label,[contenteditable]:not([contenteditable=false]),[role=textbox],[role=searchbox],[role=combobox],[role=listbox],[role=option],[role=radio],[role=radiogroup],[role=checkbox],[role=switch],[role=spinbutton],[role=slider],.pf-dd-btn,.pfx-picker-option,.gfile-btn,.gfile-name,.vf-file-btn,.vf-file-name,.media-dropzone-action){font-weight:600!important}
html[data-theme] :is(label,[contenteditable]:not([contenteditable=false]),[role=textbox],[role=searchbox],[role=combobox],[role=listbox],[role=option],[role=radio],[role=radiogroup],[role=checkbox],[role=switch],[role=spinbutton],[role=slider],.pf-dd-btn,.pfx-picker-option,.gfile-btn,.gfile-name,.vf-file-btn,.vf-file-name,.media-dropzone-action) :is(span,strong,b,small,em):not(.bi){font-weight:inherit!important}
html[data-theme] input[type=file]::file-selector-button{font-weight:600!important}

/* Shared field/disclosure policy: a control paints once; inner editors stay clear. */
html[data-theme] :is(input,textarea)[placeholder]::placeholder{color:var(--placeholder)!important;-webkit-text-fill-color:var(--placeholder)!important;opacity:1!important;font-weight:inherit!important}
html[data-theme] .gsel::before{content:none!important}
html[data-theme] .gsel{background:var(--panel)}
html[data-theme] .gsel>.gsel-btn{background:transparent!important}
html[data-theme] :is(.hp-search-field,.gform .fld,.lm .fld,.st-pane .fld)>.gsel{background:transparent}
html[data-theme] .hp .hp-search .hp-city-input{background:transparent}
html[data-theme] :is(.hp-city-input,.gform .fld,.lm .fld,.pw-field,.st-pane .fld,.sold-money,.pfx-datalist,.pfx-picker-search)>input{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html[data-theme] :is(.hp-city-input,.gform .fld,.lm .fld,.pw-field,.st-pane .fld,.sold-money,.pfx-datalist,.pfx-picker-search)>input:is(:autofill,:-webkit-autofill){background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:var(--ink)}
html[data-site-menus] .nav-dd:not(.open)>.nav-menu{opacity:0;visibility:hidden;pointer-events:none}
html[data-site-menus] .nav-dd.open>.nav-menu{pointer-events:auto}
/* پل هاور بیرون از منوی اسکرول‌دار است تا فاصلهٔ زیر عنوان قطع نشود. */
@media(min-width:901px) and (hover:hover){
  html[data-site-menus] .nav-dd.open::after{content:"";position:absolute;top:calc(100% - 1px);left:var(--nav-hover-left,0px);width:var(--nav-hover-width,100%);height:var(--nav-hover-gap,18px);background:transparent}
}
html[data-site-menus] .nav-act .nav-menu{max-height:min(480px,calc(100vh - 128px));max-height:min(480px,calc(100dvh - 128px));overflow-y:auto;overscroll-behavior:contain}
@media(min-width:901px){html[data-site-menus] .nav-in .links .nav-menu{max-height:min(520px,calc(100vh - 128px));max-height:min(520px,calc(100dvh - 128px));overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:900px){header.site-nav,header.nav{position:relative;top:auto}}
@media(any-pointer:coarse){html{touch-action:pan-x pan-y}}

/* Scroll cues are presentation-only last children, never selectable options. */
.menu-scroll-cue{display:none;position:sticky;bottom:0;z-index:2;box-sizing:border-box;height:28px;min-height:28px;flex-shrink:0;grid-column:1/-1;align-items:center;justify-content:center;gap:8px;list-style:none;border-top:1px solid var(--brd);background:var(--menu-bg);color:var(--gold);font:600 12px/1.5 iranyekan,sans-serif;pointer-events:none;overflow-anchor:none}
[data-scroll-overflow="true"]>.menu-scroll-cue{display:flex;visibility:hidden}
[data-scroll-overflow="true"][data-more-below="true"]>.menu-scroll-cue{visibility:visible}
.menu-scroll-cue::after{content:"";display:block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
[data-scroll-overflow="true"]{scroll-padding-block-end:30px}

/* Search introduction: calm editorial type, isolated from the original banner. */
.hp .hp-search-intro{padding-inline-start:18px;border-inline-start:2px solid color-mix(in srgb,var(--gold) 28%,transparent);margin-bottom:24px}
.hp .hp-search-intro .hp-eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:600;line-height:1.9}
.hp-search-intro .hp-eyebrow svg{display:block;width:22px;height:22px;flex:0 0 22px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hp .hp-hero .hp-search-title{margin:0;font:700 clamp(35px,calc(28px + 1.25vw),46px)/1.6 iranyekan,sans-serif;letter-spacing:0;text-wrap:pretty;color:var(--ink)}
.hp-search-title .hp-title-main,.hp-search-title .hp-title-finish{display:block}
.hp-search-title .hp-title-main em{color:var(--gold);font-style:normal;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--gold) 45%,transparent);text-decoration-thickness:2px;text-underline-offset:.2em}
.hp-search-title .hp-title-finish{font-size:.78em;font-weight:500;line-height:1.8}
.hp .hp-search-intro .hp-sub{margin:12px 0 0;max-width:46ch;font-size:14px;line-height:1.95}

/* Original banner restored; city animation belongs only to the compact service footer. */
.home-city-mini{width:100%;max-width:380px;min-width:0;justify-self:center}
.city-story--compact{height:auto;min-height:0;max-width:380px;margin-inline:auto}
.city-story--compact .cs-eyebrow{display:none}
.city-story--compact .cs-map-frame{flex:none;height:235px}
.city-story--compact .story-slogan{width:calc(100% - 20px);gap:5px;padding:5px 0 9px}
.city-story--compact .slogan-step{flex-direction:row;gap:5px;font:700 13px/1.8 iranyekan,sans-serif}
.city-story--compact .cs-step-icon{width:24px;height:24px;flex-basis:24px}
.city-story--compact .cs-step-icon svg{width:18px;height:18px}
@media(max-width:520px){.city-story--compact .cs-map-frame{height:215px}.city-story--compact .slogan-step{font-size:12px}}

/* Homepage simplification: one live search form and one set of responsive shortcuts. */
.hp .hp-quick-search{min-width:0}
.hp .hp-quick-summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:16px;list-style:none;cursor:pointer;color:var(--ink);border:1px solid var(--brd);border-radius:22px;background:var(--panel-2)}
.hp-quick-summary::-webkit-details-marker{display:none}
.hp .hp-quick-title{min-width:0}
.hp .hp-quick-summary strong{display:block;font-size:17px;font-weight:600;line-height:1.8}
.hp .hp-quick-summary small{display:block;margin-top:2px;font-size:11px;line-height:1.8;color:var(--muted)}
.hp .hp-quick-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid var(--brd);border-radius:13px;color:var(--gold);background:var(--panel)}
.hp .hp-quick-action{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gold);font-size:13px;font-weight:600}
.hp .hp-quick-action>.bi{display:grid;place-items:center;width:24px;height:24px;transition:transform .18s ease}
.hp .hp-quick-search[open]>.hp-quick-summary .hp-quick-action>.bi{transform:rotate(180deg)}
.hp .hp-quick-preview,.hp .hp-quick-cue,.hp .hp-quick-open-label,.hp .hp-quick-search[open] .hp-quick-closed-label{display:none}
.hp .hp-quick-search[open] .hp-quick-open-label{display:inline}
.hp .hp-quick-summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.hp .hp-quick-search:not([open])>.hp-search-composition{display:none}
.hp .hp-quick-search>.hp-hero.hp-search-composition{width:100%;max-width:none!important;margin:0!important;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.hp-listing-tabs>a>.bi:first-child,.hp-listing-tabs small,.hp .hp-browse-all>.bi:first-child{display:none}
.hp .hp-tools{grid-template-columns:minmax(0,1fr);max-width:100%;}
.hp .hp-footer-story{max-width:1000px;margin-block:30px 50px;padding-block:28px 0!important}
@media(min-width:901px){
  .hp .hp-quick-search{margin-block:56px 40px;border:0;border-top:1px solid var(--brd);border-radius:28px;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
  .hp .hp-quick-summary{position:relative;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;padding:24px 26px 0;border:0;border-radius:28px;background:transparent}
  .hp .hp-quick-search:not([open]){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
  .hp .hp-quick-search:not([open])>.hp-quick-summary{isolation:isolate}
  .hp .hp-quick-search:not([open])>.hp-quick-summary::before{content:"";position:absolute;inset:0 0 -32px;z-index:-1;border-radius:28px;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 34%,rgba(0,0,0,.4) 64%,rgba(0,0,0,.1) 84%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 34%,rgba(0,0,0,.4) 64%,rgba(0,0,0,.1) 84%,transparent 100%)}
  .hp .hp-quick-summary strong{font-size:21px}
  .hp .hp-quick-summary small{font-size:13px;margin-top:3px}
  .hp .hp-quick-icon{width:48px;height:48px;border-radius:16px;font-size:21px}
  .hp .hp-quick-action{min-height:44px;padding:8px 15px;border:1px solid var(--brd);border-radius:14px;background:var(--panel)}
  .hp .hp-quick-summary:hover .hp-quick-action{border-color:var(--gold)}
  .hp .hp-quick-search:not([open])>.hp-quick-summary>.hp-quick-preview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);grid-column:1/-1;gap:28px;height:56px;margin-top:4px;overflow:hidden;pointer-events:none;user-select:none;opacity:.42;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.72) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.08) 75%,transparent 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.72) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.08) 75%,transparent 100%)}
  .hp .hp-quick-search:not([open])>.hp-quick-summary>.hp-quick-cue{position:absolute;inset-inline:0;bottom:4px;display:grid;grid-template-columns:20px;grid-template-rows:repeat(2,12px);justify-content:center;color:var(--gold);pointer-events:none}
  .hp .hp-quick-cue>.bi{display:grid;place-items:center;width:20px;height:12px;font-size:25px;animation:hp-quick-cue-nudge 1.8s ease-in-out infinite}
  .hp .hp-quick-cue>.bi:nth-child(2){animation-delay:.18s}
  .hp .hp-quick-peek-fields{display:flex;flex-direction:column;gap:14px;padding-top:6px;min-width:0}
  .hp .hp-quick-peek-tags{display:flex;gap:10px;align-items:center}
  .hp .hp-quick-peek-tags>span{padding:6px 18px;border:1px solid var(--brd);border-radius:10px;color:var(--muted);font-size:12px;font-weight:600}
  .hp .hp-quick-peek-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hp .hp-quick-peek-grid>span{display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 16px;border:1px solid var(--brd);border-radius:16px;background:var(--panel);font-size:13px;font-weight:600;color:var(--muted)}
  .hp .hp-quick-peek-grid .bi{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;font-size:19px;color:var(--gold)}
  .hp .hp-quick-preview>.hp-quick-peek-photo{display:block;width:100%;height:190px;min-height:0;aspect-ratio:auto;border:1px solid var(--brd);border-radius:18px;background-size:200% auto;background-position:0 0}
  .hp .hp-quick-search[open]>.hp-quick-summary{padding-bottom:22px}
}
@keyframes hp-quick-cue-nudge{0%,100%{transform:translateY(-2px);opacity:.35}50%{transform:translateY(3px);opacity:1}}
@media(max-width:900px){
  .hp .hp-quick-search{margin-block:28px 0;border:1px solid var(--brd);border-radius:24px;background:var(--panel-2)}
  .hp .hp-quick-summary{border:0;background:transparent}
  .hp .hp-quick-search[open] .hp-quick-open-label,.hp .hp-quick-action>.hp-quick-closed-label{display:none}
  .hp .hp-quick-search>.hp-hero.hp-search-composition{width:100%;max-width:none!important;margin:0!important;padding:0 14px 18px!important;gap:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .hp .hp-quick-search .hp-search-intro,.hp .hp-quick-search .hp-helper{display:none}
  .hp .hp-categories{margin-bottom:16px!important}
  .hp .hp-category-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;grid-auto-rows:1fr}
  .hp .hp-category-list>.hp-listing-tabs{display:contents}
  .hp .hp-category-list a{display:flex;flex-direction:column;align-items:center;justify-content:center;grid-column:span 2;min-width:0;min-height:104px;padding:12px 7px;gap:8px;font-size:12px;font-weight:600;text-align:center;color:var(--ink);background:var(--panel);border:1px solid var(--brd);border-radius:16px}
  .hp .hp-category-list .hp-listing-tabs>a{grid-column:span 3}
  .hp .hp-category-list .hp-listing-tabs:has(>a:nth-child(3):last-child)>a{grid-column:span 2}
  .hp .hp-category-list a>span{min-width:0;line-height:1.7}
  .hp .hp-category-list a>.bi:first-child{display:grid;place-items:center;width:28px;height:28px;font-size:24px;color:var(--gold)}
  .hp .hp-category-list a small{display:block;font-size:10px;font-weight:400;color:var(--muted);line-height:1.8;margin-top:3px}
  .hp .hp-category-list .hp-shortcut-arrow,.hp .hp-listings-intro{display:none}
  .hp .hp-listings-head{margin-bottom:22px;display:block}
  .hp .hp-listings-head>.hp-browse-all{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--brd));border-radius:18px;background:var(--panel);color:var(--gold);font-size:15px;font-weight:600}
  .hp .hp-browse-all>.bi:first-child{display:grid;place-items:center;width:30px;height:30px;font-size:21px}
  .hp .hp-browse-all>.bi:last-child{display:grid;place-items:center;width:24px;height:24px;margin-inline-start:auto;font-size:19px}
  .hp .hp-footer-story{margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.hp .hp-quick-action>.bi{transition:none}.hp .hp-quick-cue>.bi{animation:none;transform:none;opacity:.8}}

/* دعوت اصلی بنر: یک مسیر روشن و شاخص برای ثبت آگهی. */
.home-original-hero .hero-cta--single{box-sizing:border-box;display:flex;width:min(100%,420px);margin-top:24px}
.home-original-hero .hero-publish{box-sizing:border-box;display:grid;grid-template-columns:64px minmax(0,1fr) 24px;align-items:center;gap:16px;width:100%;min-width:0;min-height:108px;padding:20px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--brd));border-radius:24px;background:var(--panel-2);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);color:var(--ink);box-shadow:0 12px 28px -20px color-mix(in srgb,var(--bg) 70%,transparent),inset 0 1px 0 var(--panel-2);text-decoration:none;text-align:start;font:600 18px/1.8 iranyekan,sans-serif;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.home-original-hero .hero-publish-icon{box-sizing:border-box;position:relative;display:grid;place-items:center;width:64px;height:64px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--brd));border-radius:20px;background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--gold)}
.home-original-hero .hero-publish .bi{box-sizing:border-box;display:grid;place-items:center;line-height:1;color:inherit}
.home-original-hero .hero-publish .bi::before{display:block;vertical-align:0;line-height:1}
.home-original-hero .hero-publish-icon>.bi-house-door{width:44px;height:44px;font-size:40px}
.home-original-hero .hero-publish-icon>.hero-publish-plus{position:absolute;inset-inline-end:-5px;bottom:-5px;width:24px;height:24px;border:3px solid var(--panel-solid);border-radius:50%;background:var(--gold);color:var(--gold-fg);font-size:13px}
.home-original-hero .hero-publish-copy{display:grid;gap:3px;min-width:0}
.home-original-hero .hero-publish-title{font-size:20px;font-weight:600;line-height:1.7;color:var(--gold)}
.home-original-hero .hero-publish-hint{font-size:13px;font-weight:400;line-height:1.9;text-wrap:pretty;color:var(--muted)}
.home-original-hero .hero-publish>.hero-publish-arrow{width:24px;height:24px;font-size:22px;color:var(--gold)}
@media(hover:hover){.home-original-hero .hero-publish:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--gold) 7%,var(--panel-2));border-color:color-mix(in srgb,var(--gold) 55%,var(--brd))}}
.home-original-hero .hero-publish:active{transform:translateY(0);box-shadow:none}
.home-original-hero .hero-publish:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:1024px){.home-original-hero .hero-cta--single{justify-self:center;margin-inline:auto;margin-top:14px}}
@media(max-width:520px){.home-original-hero .hero-publish{grid-template-columns:56px minmax(0,1fr) 20px;min-height:100px;padding:16px;gap:12px;border-radius:22px}.home-original-hero .hero-publish-icon{width:56px;height:56px;border-radius:18px}.home-original-hero .hero-publish-title{font-size:18px}.home-original-hero .hero-publish>.hero-publish-arrow{width:20px;height:20px;font-size:20px}}
@media(max-width:374px){.home-original-hero .hero-publish{grid-template-columns:52px minmax(0,1fr) 20px;padding:14px 12px;gap:10px}.home-original-hero .hero-publish-icon{width:52px;height:52px}.home-original-hero .hero-publish-hint{font-size:12px}}
@media(prefers-reduced-motion:reduce){.home-original-hero .hero-publish,.home-original-hero .hero-publish:hover,.home-original-hero .hero-publish:active{transition:none;transform:none}}

/* سه ملک کنار هم؛ نوارهای تزئینی، نه قیمت یا توصیهٔ واقعی بازار. */
.hp .hp-tool--compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);align-items:center;gap:40px}
.hp .hp-compare-copy{display:flex;align-items:flex-start;gap:24px;min-width:0}
.hp .hp-compare-copy>div{min-width:0}
.hp .hp-price-story{width:100%;max-width:440px;min-width:0;justify-self:center;pointer-events:none;user-select:none;direction:ltr}
.hp .hp-price-story>svg{display:block;width:100%;height:auto;overflow:visible}
.hp .hp-price-grid{fill:none;stroke:var(--brd);stroke-width:1;opacity:.6}
.hp .hp-price-wire{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-dasharray:3 6;stroke-linecap:round;opacity:.3}
.hp .hp-price-frame{fill:var(--panel-2);stroke:var(--brd);stroke-width:1.2}
.hp .hp-price-frame--accent{stroke:var(--gold);stroke-opacity:.55}
.hp .hp-price-image{fill:var(--panel);stroke:var(--brd);stroke-width:1}
.hp .hp-price-house{fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.hp .hp-price-track{fill:var(--brd)}
.hp .hp-price-caption{fill:none;stroke:var(--muted);stroke-opacity:.4;stroke-width:4;stroke-linecap:round}
.hp .hp-price-bar{fill:var(--gold);opacity:.75;transform-box:fill-box;transform-origin:left center;animation:hp-price-measure 9s ease-in-out infinite;animation-play-state:paused}
.hp .hp-price-card{animation:hp-price-float 9s ease-in-out infinite;animation-play-state:paused}
.hp .hp-price-card--two,.hp .hp-price-card--two .hp-price-bar{animation-delay:-3s}
.hp .hp-price-card--three,.hp .hp-price-card--three .hp-price-bar{animation-delay:-6s}
.hp .hp-price-signal{fill:var(--gold);animation:hp-price-signal 9s ease-in-out infinite;animation-play-state:paused}
.hp .hp-price-mark-bg{fill:var(--panel-solid);stroke:var(--gold);stroke-opacity:.5;stroke-width:1.2}
.hp .hp-price-story[data-running="true"] .hp-price-card,.hp .hp-price-story[data-running="true"] .hp-price-bar,.hp .hp-price-story[data-running="true"] .hp-price-signal{animation-play-state:running}
@keyframes hp-price-float{0%,100%{transform:translateY(4px)}45%,65%{transform:translateY(-5px)}}
@keyframes hp-price-measure{0%,100%{transform:scaleX(.52)}40%,65%{transform:scaleX(.92)}}
@keyframes hp-price-signal{0%,100%{opacity:.35}40%,65%{opacity:1}}
@media(max-width:950px){.hp .hp-tool--compare{grid-template-columns:1fr;gap:18px}.hp .hp-price-story{max-width:380px}.hp .hp-compare-copy{gap:14px}}
@media(max-width:520px){.hp .hp-price-story{max-width:330px}.hp .hp-tool--compare{gap:14px}}
@media(prefers-reduced-motion:reduce){.hp .hp-price-story .hp-price-card,.hp .hp-price-story .hp-price-bar,.hp .hp-price-story .hp-price-signal{animation:none!important;transform:none}}

/* راهنمای انتخاب: مسیر کوتاه و روشن، انتخاب‌های خوانا در هر اندازه. */
/* پروندهٔ انتخاب ملک: معیارها، گروه‌های واقعی و دلیل هر پیشنهاد. */
/* دفتر آگهی‌ها: انتخاب‌های قابل ویرایش، کارت مشترک و بارگذاری قابل پیگیری. */
.pl--catalog{padding-top:32px}
.pl--catalog *{box-sizing:border-box}
.pl--catalog [hidden]{display:none!important}
.pl--catalog :is(h1,h2,h3,p,ul){margin:0}
.pl--catalog .bi{display:grid;place-items:center;flex:0 0 auto;line-height:1}
.pl--catalog .bi::before{display:block;vertical-align:0;line-height:1}
.pl--catalog :is(a,button,summary,select):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.pl--catalog .pl-heading{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:9px 0 29px;margin-bottom:25px;border-bottom:1px solid var(--brd)}
.pl--catalog .pl-heading-copy{min-width:0}
.pl--catalog .pl-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:13px;color:var(--gold);font-size:12px;font-weight:500}
.pl--catalog .pl-heading-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--panel);border:1px solid var(--brd);border-radius:11px;font-size:19px}
.pl--catalog h1{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:clamp(27px,2.6vw,36px);font-weight:700;line-height:1.7;text-wrap:balance;overflow-wrap:anywhere}
.pl--catalog h1>span{color:var(--gold)}
.pl--catalog .pl-heading p{font-size:13px;line-height:2.1;color:var(--muted);margin-top:9px}
.pl--catalog .pl-total{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding-inline-start:28px;border-inline-start:1px solid var(--brd)}
.pl--catalog .pl-total strong{color:var(--gold);font-size:36px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums}
.pl--catalog .pl-total span{font-size:11px;color:var(--muted)}
.pl--catalog .pl-filters{position:relative;z-index:50;border-radius:23px;background:var(--panel-2);margin-bottom:24px;scroll-margin-top:120px}
.pl--catalog .pl-filters:has(.gsel.open){z-index:85}
.pl--catalog .pl-filters>summary{display:flex;align-items:center;gap:13px;padding:19px 23px;list-style:none;cursor:pointer}
.pl--catalog .pl-filters>summary::-webkit-details-marker{display:none}
.pl--catalog .pl-filter-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--brd);border-radius:13px;background:var(--panel);color:var(--gold);font-size:21px}
.pl--catalog .pl-filters summary strong{font-size:14px;font-weight:600;line-height:1.8}
.pl--catalog .pl-filters summary small{display:block;font-size:11px;line-height:1.9;color:var(--muted);margin-top:2px}
.pl--catalog .pl-filters summary>.bi{display:grid;place-items:center;width:28px;height:28px;margin-inline-start:auto;color:var(--gold);font-size:16px;transition:transform .2s ease}
.pl--catalog .pl-filters[open] summary>.bi{transform:rotate(180deg)}
.pl--catalog .pl-filter-content{margin:0 23px;padding:21px 0 20px;border-top:1px solid var(--brd)}
.pl--catalog .pl-filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:16px}
.pl--catalog .pl-filter-field{position:relative;min-width:0}
.pl--catalog .pl-filter-field:has(.gsel.open){z-index:70}
.pl--catalog .pl-filter-field label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--muted);line-height:1.9;margin-bottom:9px}
.pl--catalog .pl-filter-field label>.bi{width:20px;height:20px;font-size:17px;color:var(--gold)}
.pl--catalog .pl-filter-field select{width:100%;min-height:52px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--ink);font-family:inherit;font-size:16px;font-weight:600;padding:11px 13px}
.pl--catalog .pl-filter-field .gsel{width:100%;border-radius:14px}
.pl--catalog .pl-filter-field .gsel-btn{min-height:52px;padding:12px 14px;border-radius:14px;font-size:16px;font-weight:600;background:transparent}
.pl--catalog .pl-filter-field .gsel-list{border-radius:15px}
.pl--catalog .pl-apply{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 20px;border-radius:14px;font-size:13px;font-weight:600!important}
.pl--catalog .pl-apply>.bi{width:21px;height:21px;font-size:18px}
.pl--catalog .pl-filter-help{font-size:11px;line-height:2;color:var(--muted);margin-top:14px}
.pl--catalog .pl-selection{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 26px}
.pl--catalog .pl-selection>span{font-size:11px;color:var(--muted)}
.pl--catalog .pl-selection ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0}
.pl--catalog .pl-selection li{min-width:0;max-width:100%}
.pl--catalog .pl-selection li>a{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 12px;border:1px solid var(--brd);border-radius:12px;background:var(--panel);font-size:12px;color:var(--ink);line-height:1.8}
.pl--catalog .pl-selection li>a>span{overflow-wrap:anywhere}
.pl--catalog .pl-selection .bi{width:20px;height:20px;border-radius:6px;background:var(--panel-2);font-size:17px;color:var(--gold)}
.pl--catalog .pl-selection li>a:hover{border-color:var(--gold)}
.pl--catalog .pl-reset{display:inline-flex;align-items:center;min-height:44px;margin-inline-start:auto;color:var(--gold);font-size:12px;padding:8px 3px}
.pl--catalog .pl-results-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.pl--catalog .pl-results-heading>div{display:flex;align-items:center;gap:12px}
.pl--catalog .pl-results-heading h2{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:23px;font-weight:700;line-height:1.7}
.pl--catalog .pl-results-heading>div>span{font-size:11px;color:var(--muted);border-inline-start:1px solid var(--brd);padding-inline-start:12px}
.pl--catalog .pl-results-heading>p{display:flex;align-items:center;gap:8px;font-size:11px;line-height:2;color:var(--muted)}
.pl--catalog .pl-results-heading>p>.bi{width:20px;height:20px;color:var(--gold);font-size:17px}
.pl--catalog .pl-grid{gap:22px}
.pl--catalog .prop{min-width:0;border-radius:22px;scroll-margin-top:120px}
.pl--catalog .prop:hover{transform:translateY(-3px)}
.pl--catalog .prop .fav{width:44px;height:44px}
.pl--catalog .prop .cmp-btn{left:64px}
.pl--catalog .pl-empty{grid-column:1/-1;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:18px;padding:32px;border-radius:24px;background:var(--panel-2)}
.pl--catalog .pl-empty-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--brd);border-radius:20px;color:var(--gold);background:var(--panel);font-size:28px}
.pl--catalog .pl-empty h3{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:24px;font-weight:700;line-height:1.9}
.pl--catalog .pl-empty p{font-size:13px;line-height:2.1;color:var(--muted);margin-top:6px}
.pl--catalog .pl-empty-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:10px}
.pl--catalog .pl-empty-actions>.btn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;font-size:13px}
.pl--catalog .pl-empty-actions .bi{width:20px;height:20px;font-size:17px}
.pl--catalog .pl-more{gap:16px;margin-top:32px;padding:25px 18px;border-top:1px solid var(--brd)}
.pl--catalog .pl-prog{font-size:12px;font-weight:500;line-height:2;text-align:center}
.pl--catalog .pl-progress-track{display:block;width:min(260px,100%);height:4px;overflow:hidden;border-radius:10px;background:var(--brd)}
.pl--catalog .pl-progress-track>span{display:block;height:100%;background:var(--gold);border-radius:inherit}
.pl--catalog .pl-more>.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 24px;font-size:13px;border-radius:15px}
.pl--catalog .pl-more>.btn>.bi{width:22px;height:22px;font-size:18px}
.pl--catalog #plMore[aria-disabled="true"]{pointer-events:none;cursor:wait}
.pl--catalog .pl-load-status{max-width:500px;color:var(--ink);font-size:12px;line-height:2;text-align:center}
.pl--catalog .pl-load-status:empty{display:none}
.pl--catalog .pl-end{font-size:12px;line-height:2;color:var(--muted)}
.pl--catalog .pl-page-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}
.pl--catalog .pl-page-links>.btn{min-height:48px;font-size:12px;display:flex;align-items:center;gap:8px}
@media(max-width:1000px){.pl--catalog .pl-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}.pl--catalog .pl-apply{grid-column:1/-1;justify-self:end;min-width:180px}}
@media(max-width:760px){.pl--catalog{padding-top:12px;padding-bottom:35px}.pl--catalog>.wrap{padding-inline:16px}.pl--catalog .pl-heading{gap:18px;flex-wrap:wrap;padding:0 0 22px;margin-bottom:20px}.pl--catalog h1{font-size:29px}.pl--catalog .pl-eyebrow{font-size:11px;margin-bottom:10px}.pl--catalog .pl-heading p{font-size:12px}.pl--catalog .pl-total{flex-direction:row;align-items:center;gap:9px;border:0;padding:0}.pl--catalog .pl-total strong{font-size:23px}.pl--catalog .pl-total span{font-size:11px}.pl--catalog .pl-filters{border-radius:20px;margin-bottom:22px;scroll-margin-top:20px}.pl--catalog .pl-filters>summary{padding:16px;gap:11px}.pl--catalog .pl-filter-icon{width:36px;height:36px;border-radius:12px;font-size:19px}.pl--catalog .pl-filters summary strong{font-size:13px}.pl--catalog .pl-filters summary small{font-size:10px}.pl--catalog .pl-filter-content{margin-inline:16px;padding-top:18px}.pl--catalog .pl-filter-form{grid-template-columns:minmax(0,1fr);gap:16px}.pl--catalog .pl-apply{width:100%;justify-self:stretch;min-width:0}.pl--catalog .pl-filter-help{font-size:10px}.pl--catalog .pl-selection{gap:8px;margin-bottom:22px}.pl--catalog .pl-selection>span{width:100%;font-size:10px}.pl--catalog .pl-selection li>a{font-size:11px}.pl--catalog .pl-reset{font-size:11px}.pl--catalog .pl-results-heading{align-items:flex-start;flex-wrap:wrap;gap:7px;margin-bottom:16px}.pl--catalog .pl-results-heading h2{font-size:21px}.pl--catalog .pl-results-heading>p{font-size:10px}.pl--catalog .pl-grid{gap:20px}.pl--catalog .prop{scroll-margin-top:20px}.pl--catalog .pl-more{padding:22px 0;margin-top:25px}.pl--catalog .pl-more>.btn{width:100%;max-width:330px}.pl--catalog .pl-empty{grid-template-columns:minmax(0,1fr);padding:24px 20px;gap:15px}.pl--catalog .pl-empty-icon{width:52px;height:52px;border-radius:17px;font-size:24px}.pl--catalog .pl-empty h3{font-size:21px}.pl--catalog .pl-empty p{font-size:12px}.pl--catalog .pl-empty-actions{grid-column:1;flex-direction:column;align-items:stretch}.pl--catalog .pl-empty-actions>.btn{width:100%;font-size:12px}.pl--catalog .pl-load-status{font-size:11px}}
@media(prefers-reduced-motion:reduce){.pl--catalog .prop,.pl--catalog .prop:hover{transition:none;transform:none}.pl--catalog .pl-filters summary>.bi{transition:none}}

.aim-results{padding-top:34px;padding-bottom:54px;scroll-margin-top:120px}
.aim-results *{box-sizing:border-box}
.aim-results>.wrap{max-width:1280px}
.aim-results :is(h1,h2,p,dl,dd,ul){margin:0}
.aim-results .bi{display:grid;place-items:center;flex:0 0 auto;line-height:1}
.aim-results .bi::before{display:block;vertical-align:0;line-height:1}
.aim-results :is(a,summary):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.aim-results .aim-overview{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:30px 48px;padding:32px 36px;border-radius:28px;background:var(--panel-2)}
.aim-results .aim-overview-copy{min-width:0}
.aim-results .aim-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:500;color:var(--gold);margin-bottom:19px}
.aim-results .aim-eyebrow>span:last-child{color:var(--muted);font-size:11px}
.aim-results .aim-brand-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--brd);border-radius:11px;background:var(--panel);font-size:20px}
.aim-results .aim-eyebrow-separator{width:1px;height:12px;background:var(--brd)}
.aim-results h1{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:clamp(29px,3vw,40px);font-weight:700;line-height:1.65;letter-spacing:-.5px;margin:0 0 15px;text-wrap:balance}
.aim-results h1>span{color:var(--gold)}
.aim-results #aimIntro{max-width:780px;font-size:13px;line-height:2.25;color:var(--muted);overflow-wrap:anywhere}
.aim-results .aim-overview-side{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:20px;min-width:0}
.aim-results .aim-result-count{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:142px;border:1px solid var(--brd);border-radius:22px;background:var(--panel)}
.aim-results .aim-result-count strong{font-size:48px;font-weight:600;line-height:1.3;color:var(--gold);font-variant-numeric:tabular-nums}
.aim-results .aim-result-count>span{font-size:12px;color:var(--muted)}
.aim-results .aim-edit{min-height:50px;margin:0;font-size:13px;font-weight:600;justify-content:center;gap:10px}
.aim-results .aim-edit>.bi{width:22px;height:22px;font-size:18px}
.aim-results .aim-edit>.bi:last-child{font-size:16px;margin-inline-start:auto}
.aim-results .aim-criteria{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:22px 32px;padding-top:23px;border-top:1px solid var(--brd)}
.aim-results .aim-criteria>div{flex:1 1 150px;min-width:0}
.aim-results .aim-criteria dt{display:flex;align-items:center;gap:7px;margin:0 0 7px;font-size:11px;color:var(--muted)}
.aim-results .aim-criteria dt>.bi{width:19px;height:19px;font-size:16px;color:var(--gold)}
.aim-results .aim-criteria dd{font-size:14px;font-weight:500;color:var(--ink);line-height:1.9;overflow-wrap:anywhere}
.aim-results .aim-preferences{grid-column:1/-1;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:-10px;padding:0}
.aim-results .aim-preferences li{display:flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--brd);border-radius:10px;background:var(--panel);font-size:11px;line-height:1.9;color:var(--muted)}
.aim-results .aim-preferences .bi{width:16px;height:16px;color:var(--gold)}
.aim-results .aim-results-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin:28px 0 30px}
.aim-results .aim-jump{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.aim-results .aim-jump>a{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 13px;border:1px solid var(--brd);border-radius:13px;background:var(--panel);color:var(--ink);font-size:12px;font-weight:500;line-height:1.8;transition:border-color .2s ease,background-color .2s ease}
.aim-results .aim-jump>a:hover{border-color:var(--gold);background:var(--panel-2)}
.aim-results .aim-jump .bi{width:20px;height:20px;font-size:17px;color:var(--gold)}
.aim-results .aim-jump-count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:8px;background:var(--panel-2);color:var(--gold);font-size:11px;margin-inline-start:auto}
.aim-results .aim-compare-hint{display:flex;align-items:center;gap:8px;font-size:11px;line-height:2;color:var(--muted)}
.aim-results .aim-compare-hint>.bi{width:20px;height:20px;font-size:17px;color:var(--gold)}
.aim-results .aim-relaxed-notice{display:flex;align-items:flex-start;gap:9px;padding:13px 16px;margin-bottom:28px;border-inline-start:2px solid var(--gold);border-radius:0 12px 12px 0;background:var(--panel);color:var(--muted);font-size:12px;line-height:2}
.aim-results .aim-relaxed-notice>.bi{width:20px;height:24px;color:var(--gold);font-size:16px}
.aim-results .aim-tier{margin-bottom:38px;scroll-margin-top:125px}
.aim-results .aim-tier-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.aim-results .aim-tier-heading>div{min-width:0}
.aim-results .aim-tier-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid var(--brd);border-radius:15px;background:var(--panel);color:var(--gold);font-size:23px}
.aim-results .aim-tier-h{display:block;font-family:PropertyDisplay,iranyekan,sans-serif;font-size:23px;font-weight:700;line-height:1.8;margin:0}
.aim-results .aim-tier-heading p{font-size:12px;line-height:2;color:var(--muted);margin-top:3px}
.aim-results .aim-tier-count{flex:0 0 auto;margin-inline-start:auto;padding:5px 10px;border:1px solid var(--brd);border-radius:9px;color:var(--muted);font-size:11px;white-space:nowrap}
.aim-results .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.aim-results .prop{min-width:0;border-radius:22px}
.aim-results .prop .fav{width:44px;height:44px}
.aim-results .prop .cmp-btn{left:64px}
.aim-results .prop:hover{transform:translateY(-3px)}
.aim-results .prop>.aim-meta{flex:1 1 auto;display:flex;flex-direction:column;gap:0;padding:18px 20px 19px;background:var(--panel);border-top:1px solid var(--brd);font-size:12px}
.aim-results .aim-score{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--muted);font-size:11px;font-weight:500;line-height:1.9}
.aim-results .aim-score strong{color:var(--gold);font-size:21px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.aim-results .aim-score-track{display:block;height:3px;width:100%;overflow:hidden;border-radius:9px;background:var(--brd);margin:10px 0 16px}
.aim-results .aim-score-track>span{display:block;height:100%;border-radius:inherit;background:var(--gold)}
.aim-results .aim-reasons-title{color:var(--ink);font-size:12px;font-weight:500;margin-bottom:5px}
.aim-results .aim-reasons{list-style:none;padding:0}
.aim-results .aim-why{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border:0;color:var(--muted);font-size:11.5px;line-height:2;overflow-wrap:anywhere}
.aim-results .aim-why>.bi{display:grid;place-items:center;flex:0 0 18px;width:18px;height:23px;margin:0;color:var(--gold);font-size:14px}
.aim-results .aim-card-warning{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--brd));border-radius:11px;color:var(--ink);font-size:11px;line-height:2;background:var(--panel)}
.aim-results .aim-card-warning>.bi{width:18px;height:22px;font-size:15px;color:var(--gold)}
.aim-results .aim-no-reason{font-size:11.5px;line-height:2;color:var(--muted)}
.aim-results .aim-empty{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:20px;max-width:none;margin:28px 0 32px;padding:30px;border-radius:24px;text-align:start;background:var(--panel-2)}
.aim-results .aim-empty-icon{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--brd);border-radius:22px;color:var(--gold);background:var(--panel)}
.aim-results .aim-empty-icon>.bi{font-size:30px}
.aim-results .aim-empty h2{font-family:PropertyDisplay,iranyekan,sans-serif;font-size:23px;font-weight:700;line-height:1.9}
.aim-results .aim-empty p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:2}
.aim-results .aim-empty-actions{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.aim-results .aim-empty-actions>.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-size:13px;font-weight:600}
.aim-results .aim-empty-actions .bi{width:20px;height:20px;font-size:17px}
.aim-results .aim-explainer{border-radius:20px;background:var(--panel-2)}
.aim-results .aim-explainer>summary{display:flex;align-items:center;gap:14px;list-style:none;padding:19px 22px;cursor:pointer;font-size:13px;font-weight:500;line-height:1.9}
.aim-results .aim-explainer>summary::-webkit-details-marker{display:none}
.aim-results .aim-explainer-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--brd);border-radius:13px;color:var(--gold);font-size:21px}
.aim-results .aim-explainer summary small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:400}
.aim-results .aim-explainer summary>.bi{width:20px;height:20px;margin-inline-start:auto;color:var(--gold);font-size:15px;transition:transform .2s ease}
.aim-results .aim-explainer[open] summary>.bi{transform:rotate(180deg)}
.aim-results .aim-explainer-body{border-top:1px solid var(--brd);margin:0 22px;padding:18px 0 21px;font-size:12px;line-height:2.2;color:var(--muted)}
.aim-results .aim-explainer-body>p+p{margin-top:12px}
.aim-results .aim-note{display:flex;align-items:flex-start;gap:9px;margin:20px 3px 0;font-size:11px;line-height:2.1;color:var(--muted)}
.aim-results .aim-note>.bi{width:20px;height:24px;font-size:17px;color:var(--gold)}
@media(max-width:1000px){.aim-results .aim-overview{grid-template-columns:minmax(0,1fr) 200px;gap:24px;padding:28px}.aim-results .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.aim-results .aim-tier{scroll-margin-top:22px}}
@media(max-width:680px){.aim-results{padding-top:16px;padding-bottom:32px}.aim-results>.wrap{padding-inline:16px}.aim-results .aim-overview{grid-template-columns:minmax(0,1fr);gap:22px;padding:23px 20px;border-radius:24px}.aim-results .aim-eyebrow{gap:8px;font-size:11px;margin-bottom:16px}.aim-results .aim-eyebrow>span:last-child{font-size:10px}.aim-results .aim-brand-icon{width:30px;height:30px;font-size:18px;border-radius:10px}.aim-results h1{font-size:31px;margin-bottom:13px}.aim-results #aimIntro{font-size:12px;line-height:2.2}.aim-results .aim-overview-side{flex-direction:row;align-items:center;gap:14px}.aim-results .aim-result-count{flex:1;min-height:0;align-items:flex-start;gap:0;border:0;border-radius:0;background:none}.aim-results .aim-result-count strong{font-size:33px}.aim-results .aim-result-count>span{font-size:10px}.aim-results .aim-edit{flex:0 1 auto;gap:8px;min-height:48px;padding:11px 12px;font-size:12px}.aim-results .aim-edit>.bi{width:18px;height:18px;font-size:16px}.aim-results .aim-edit>.bi:last-child{display:none}.aim-results .aim-criteria{gap:18px 16px;padding-top:19px}.aim-results .aim-criteria>div{flex-basis:calc(50% - 16px)}.aim-results .aim-criteria dd{font-size:12px}.aim-results .aim-criteria dt{font-size:10px}.aim-results .aim-preferences{margin-top:-3px}.aim-results .aim-results-toolbar{gap:12px;margin:22px 0 25px}.aim-results .aim-jump{width:100%}.aim-results .aim-jump>a{min-width:0;max-width:100%;font-size:11px;padding:10px 12px}.aim-results .aim-compare-hint{font-size:10px}.aim-results .aim-tier-heading{gap:10px;flex-wrap:wrap;margin-bottom:16px}.aim-results .aim-tier-heading>div{flex:1}.aim-results .aim-tier-icon{width:38px;height:38px;flex-basis:38px;border-radius:12px;font-size:20px}.aim-results .aim-tier-h{font-size:19px}.aim-results .aim-tier-heading p{font-size:11px}.aim-results .aim-tier-count{font-size:10px;margin:0 48px 0 0}.aim-results .grid{grid-template-columns:minmax(0,1fr);gap:20px}.aim-results .aim-tier{margin-bottom:30px}.aim-results .aim-empty{grid-template-columns:minmax(0,1fr);gap:15px;padding:24px 20px}.aim-results .aim-empty-icon{width:56px;height:56px;border-radius:17px}.aim-results .aim-empty-icon>.bi{font-size:25px}.aim-results .aim-empty h2{font-size:21px}.aim-results .aim-empty p{font-size:12px}.aim-results .aim-empty-actions{grid-column:1}.aim-results .aim-empty-actions>.btn{flex:1;min-width:0;padding:11px;font-size:12px}.aim-results .aim-explainer>summary{padding:17px 16px;gap:10px;font-size:12px}.aim-results .aim-explainer-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px;font-size:18px}.aim-results .aim-explainer summary small{font-size:10px}.aim-results .aim-explainer-body{margin-inline:16px;font-size:11.5px}.aim-results .aim-note{font-size:10.5px}}
@media(max-width:420px){.aim-results .aim-empty-actions{flex-direction:column;align-items:stretch}.aim-results .aim-empty-actions>.btn{flex:auto;width:100%}}
@media(prefers-reduced-motion:reduce){.aim-results .prop,.aim-results .prop:hover{transition:none;transform:none}.aim-results .aim-jump>a,.aim-results #aimIntro{transition:none}.aim-results #aimIntro.aim-polished{animation:none}.aim-results .aim-explainer summary>.bi{transition:none}}

.hp #ai-match{padding-bottom:0}
.hp #ai-match>.wrap{max-width:1080px!important}
.hp #ai-match .s-head{margin-bottom:24px}
.hp #ai-match .s-head h2{font-size:clamp(25px,2.3vw,34px);line-height:1.7}
.hp #ai-match .s-head p{max-width:700px;line-height:2;font-size:14px;margin-top:8px}
.hp #ai-match .aiw{padding:28px 32px;border-radius:28px}
.hp #ai-match .aiw-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.hp #ai-match .aiw-form-caption{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--gold)}
.hp #ai-match .aiw-form-caption>.bi{display:grid;place-items:center;width:22px;height:22px;font-size:18px;line-height:1}
.hp #ai-match .aiw-step-lbl{font-size:12px}
.hp #ai-match .aiw-progress{margin-bottom:14px}
.hp #ai-match .aiw-bar{height:5px;border:0;background:var(--brd)}
.hp #ai-match .aiw-route{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 28px;padding:0 0 20px;border-bottom:1px solid var(--brd)}
.hp #ai-match .aiw[data-flow="invest"] .aiw-route{grid-template-columns:repeat(6,minmax(0,1fr))}
.hp #ai-match .aiw-route li{min-width:0}
.hp #ai-match .aiw-route button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;width:100%;min-height:44px;padding:7px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer}
.hp #ai-match .aiw-route button:disabled{opacity:.55;cursor:default}
.hp #ai-match .aiw-route [aria-current="step"]{border-color:color-mix(in srgb,var(--gold) 30%,var(--brd));background:var(--panel);color:var(--gold);opacity:1}
.hp #ai-match .aiw-route-number{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1px solid var(--brd);border-radius:50%;font-size:10px;line-height:1}
.hp #ai-match .aiw-route [data-complete="true"] .aiw-route-number{border-color:var(--gold);color:var(--gold)}
.hp #ai-match .aiw-q{font-size:clamp(21px,1.8vw,27px);font-weight:700;line-height:1.8;margin:0 0 5px}
.hp #ai-match .aiw-step-desc{font-size:13px;line-height:2;color:var(--muted);margin:0 0 22px}
.hp #ai-match .aiw-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hp #ai-match .aiw-card{box-sizing:border-box;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:14px;min-width:0;min-height:116px;padding:20px;border-radius:19px;border:1px solid var(--brd);background:var(--panel);text-align:start;font-weight:600;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;transform:none}
.hp #ai-match .aiw-card>i{display:grid;place-items:center;width:48px;height:48px;font-size:32px;line-height:1;color:var(--gold)}
.hp #ai-match .aiw-card>i::before{display:block;vertical-align:0;line-height:1}
.hp #ai-match .aiw-card-copy{display:grid;gap:5px;min-width:0}
.hp #ai-match .aiw-card b{font-size:15px;font-weight:600;line-height:1.9}
.hp #ai-match .aiw-card small{display:block;font-size:12px;font-weight:400;line-height:1.9;color:var(--muted)}
.hp #ai-match .aiw-card::after{content:"";box-sizing:border-box;width:18px;height:18px;border:1px solid var(--brd);border-radius:50%}
.hp #ai-match .aiw-card:hover,.hp #ai-match .aiw-card.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 6%,var(--panel));transform:none}
.hp #ai-match .aiw-card.on{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent)}
.hp #ai-match .aiw-card.on::after{border-color:var(--gold);background:var(--gold);box-shadow:inset 0 0 0 4px var(--panel-solid)}
.hp #ai-match .aiw-cards:has(>.aiw-card:nth-child(3):last-child)>.aiw-card:last-child{grid-column:1/-1}
.hp #ai-match .aiw-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hp #ai-match .aiw-chip{justify-content:flex-start;border-radius:14px;min-height:52px;min-width:0;padding:12px;font-weight:600;line-height:1.8;white-space:normal;text-align:start}
.hp #ai-match .aiw-chip>i{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;line-height:1;font-size:20px}
.hp #ai-match .aiw-chip>i::before{display:block;vertical-align:0;line-height:1}
.hp #ai-match .aiw-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hp #ai-match .aiw-field{min-width:0}
.hp #ai-match .aiw-field label{font-size:13px;line-height:1.8;margin-bottom:9px}
.hp #ai-match .aiw-input{box-sizing:border-box;min-width:0;min-height:54px;border-color:var(--brd);border-radius:14px;background:var(--panel);font-size:16px;font-weight:600}
.hp #ai-match .aiw-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 10%,transparent)}
.hp #ai-match .aiw-field-help{font-size:12px;line-height:1.9;color:var(--muted);margin:6px 0 0}
.hp #ai-match .aiw-field-help:empty{display:none}
.hp #ai-match .aiw-words{font-weight:600}
.hp #ai-match .aiw-field-help[data-error="true"]{color:var(--gold)}
.hp #ai-match .aiw-suggest{max-height:min(260px,40vh);overflow:auto;overscroll-behavior:contain}
.hp #ai-match .aiw-sg{box-sizing:border-box;min-height:48px;font-weight:600;line-height:1.8}
.hp #ai-match .aiw-sg[aria-selected="true"]{background:var(--panel-2);color:var(--gold)}
.hp #ai-match .aiw-skip{min-height:46px;padding:10px 14px;border-radius:13px;font-weight:500;text-align:start;line-height:1.9}
.hp #ai-match .aiw-nav{margin-top:24px;padding-top:20px;border-color:var(--brd);flex-wrap:wrap}
.hp #ai-match .aiw-nav .btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:14px;padding:12px 20px;font-size:14px;font-weight:600!important}
.hp #ai-match .aiw-nav .bi{display:grid;place-items:center;width:22px;height:22px;line-height:1}
.hp #ai-match .aiw-nav .bi::before{display:block;vertical-align:0;line-height:1}
.hp #ai-match .aiw-disclaimer{font-size:11px;line-height:1.9;color:var(--muted);margin-top:20px}
.hp #ai-match :is(.aiw-card,.aiw-chip,.aiw-skip,.aiw-route button,.aiw-nav button):focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:760px){.hp #ai-match .aiw{padding:22px}.hp #ai-match .aiw-cards{grid-template-columns:1fr}.hp #ai-match .aiw-card{min-height:98px}.hp #ai-match .aiw-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.hp #ai-match .aiw-route{gap:4px}.hp #ai-match .aiw-route button{flex-direction:column;gap:5px;padding:7px 2px;font-size:10px;line-height:1.6}.hp #ai-match .aiw-fields{grid-template-columns:1fr}}
@media(max-width:520px){.hp #ai-match .s-head h2{font-size:26px}.hp #ai-match .s-head p{font-size:13px}.hp #ai-match .aiw{padding:20px 16px;border-radius:23px}.hp #ai-match .aiw-card{grid-template-columns:40px minmax(0,1fr) 18px;gap:12px;padding:16px}.hp #ai-match .aiw-card>i{width:40px;height:40px;font-size:30px}.hp #ai-match .aiw-card b{font-size:14px}.hp #ai-match .aiw-card small{display:block;font-size:12px}.hp #ai-match .aiw-route{margin-bottom:21px;padding-bottom:16px}.hp #ai-match .aiw-step-desc{margin-bottom:17px;font-size:12px}.hp #ai-match .aiw-nav .btn{flex:1;min-width:0;font-size:13px;padding-inline:12px}.hp #ai-match .aiw-chip{padding:10px 8px;font-size:12px;gap:7px}.hp #ai-match .aiw-skip{font-size:12px;white-space:normal}.hp #ai-match .aiw-disclaimer{font-size:10px}}

/* خدمات حقوقی: انتخاب روشن، فرم مرتب و رسید ماندگار. */
.lg-page{padding-top:42px;padding-bottom:64px;color:var(--ink)}
.lg-page [hidden],.lg-modal [hidden]{display:none!important}
.lg-page :is(h1,h2,h3,h4,p),.lg-modal :is(h2,h3,p){margin:0}
.lg-page .lg-eyebrow,.lg-modal .lg-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--gold);font-size:12px;font-weight:600;line-height:1.9}
.lg-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;margin-bottom:64px}
.lg-intro h1{font-size:clamp(32px,4.3vw,56px);line-height:1.6;letter-spacing:-1.4px;margin:15px 0 18px}
.lg-intro h1 span{color:var(--gold)}
.lg-intro-copy>p{max-width:560px;font-size:15px;line-height:2.1;color:var(--muted)}
.lg-intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}
.lg-page .btn,.lg-modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-size:14px}
.lg-text-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.lg-intro-copy>.lg-disclaimer{font-size:11px;line-height:1.9;margin-top:18px}
.lg-roadmap{padding:28px;border-radius:26px}
.lg-roadmap-head{display:flex;align-items:center;gap:15px;margin-bottom:22px}
.lg-roadmap-head small{font-size:11px;color:var(--muted)}
.lg-roadmap h2{font-size:19px;line-height:1.9}
.lg-symbol{display:grid;place-items:center;box-sizing:border-box;flex:0 0 48px;width:48px;height:48px;border-radius:15px;border:1px solid var(--brd);background:var(--panel);color:var(--gold);font-size:25px}
.lg-page .bi,.lg-modal .bi{display:inline-grid;place-items:center;line-height:1;flex-shrink:0}
.lg-page .bi::before,.lg-modal .bi::before{display:block;vertical-align:0;line-height:1}
.lg-roadmap ol{list-style:none;display:grid;gap:22px;margin:0;padding:0}
.lg-roadmap li{display:flex;align-items:flex-start;gap:15px;position:relative}
.lg-roadmap li>span{display:grid;place-items:center;box-sizing:border-box;width:28px;height:28px;flex:0 0 28px;border:1px solid var(--brd);border-radius:50%;color:var(--gold);font-size:12px}
.lg-roadmap li:not(:last-child)::after{content:"";position:absolute;inset-inline-start:13px;top:33px;height:calc(100% - 17px);border-inline-start:1px solid var(--brd);pointer-events:none}
.lg-roadmap strong{font-size:13px;font-weight:600;line-height:2}
.lg-roadmap li p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:3px}
.lg-catalog{scroll-margin-top:120px}
.lg-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}
.lg-section-head h2{font-size:27px;line-height:1.8;margin:6px 0}
.lg-section-head p{font-size:13px;color:var(--muted);line-height:1.9}
.lg-search{flex:0 1 310px;min-width:0}
.lg-search label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:600}
.lg-search .fld{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--brd);border-radius:15px;padding:12px 15px}
.lg-search .fld:focus-within{border-color:var(--gold)}
.lg-search .bi{color:var(--gold)}
.lg-search input{width:100%;min-width:0;font:inherit;font-size:16px;font-weight:600;background:transparent;border:0;outline:0;color:var(--ink)}
.lg-search-count{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
.lg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}
.lg-contract{min-width:0;padding:24px;border-radius:24px}
.lg-contract-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.lg-contract-tag{font-size:10px;color:var(--muted);padding:5px 9px;border:1px solid var(--brd);border-radius:8px}
.lg-contract h3{font-size:19px;line-height:1.8}
.lg-contract .lg-contract-subtitle{font-size:12px;line-height:1.9;color:var(--muted);min-height:46px;margin:5px 0 16px}
.lg-contract-details{border-top:1px solid var(--brd)}
.lg-contract summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-size:12px;color:var(--muted);cursor:pointer;list-style:none}
.lg-contract summary::-webkit-details-marker{display:none}
.lg-contract summary .bi{color:var(--gold);font-size:12px}
.lg-contract details[open]>summary{color:var(--gold)}
.lg-contract details[open]>summary>.bi{transform:rotate(180deg)}
.lg-contract-content{padding:4px 0 18px;font-size:12px;color:var(--muted);line-height:2}
.lg-contract-content h4{font-size:12px;font-weight:600;color:var(--ink);margin:16px 0 6px}
.lg-contract-content ul{padding-inline-start:18px;margin:0}
.lg-contract-content li+li{margin-top:5px}
.lg-contract-notes{border-top:1px solid var(--brd);margin-top:14px}
.lg-request-btn{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;gap:12px;width:100%;min-height:48px;padding:12px 15px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer;line-height:1.9;text-align:start}
.lg-request-btn:hover{border-color:var(--gold)}
.lg-request-btn .bi{color:var(--gold);font-size:17px}
.lg-empty{text-align:center;padding:35px;border-radius:24px}
.lg-empty>.bi{font-size:28px;color:var(--gold);margin-bottom:10px}
.lg-empty h3{font-size:20px}.lg-empty p{font-size:13px;color:var(--muted);margin:10px 0 20px}
.lg-page-notice{padding:18px;margin-bottom:20px!important;border:1px solid var(--gold);border-radius:16px;line-height:1.9;background:var(--panel);font-size:13px}
.lg-help{display:flex;align-items:center;gap:22px;border-radius:25px;padding:28px;margin-top:40px}
.lg-help img{object-fit:cover;width:88px;height:88px;border:1px solid var(--brd);border-radius:22px;flex-shrink:0}
.lg-help h2{font-size:21px;line-height:1.9;margin:5px 0}
.lg-help p,.lg-help-place{font-size:12px;color:var(--muted);line-height:2}
.lg-help-place{display:inline-flex;align-items:center;gap:5px}
.lg-help-actions{margin-inline-start:auto;display:grid;gap:4px;flex-shrink:0}
.lg-page :is(a,button,summary):focus-visible,.lg-modal :is(a,button,select,input,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.lg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lg-modal,.lg-modal *{transition-property:opacity,transform,background-color,border-color,box-shadow,color,max-height!important}
.lg-modal .gmodal-dialog{width:min(820px,100%);max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden}
.lg-modal .gmodal-head{flex-shrink:0;gap:20px;padding:20px 26px}
.lg-modal .gmodal-head h2{font-size:21px;line-height:1.8;margin-top:5px}
.lg-modal .gmodal-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;box-sizing:border-box;padding:0;line-height:1}
.lg-modal .gmodal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 26px}
.lg-modal .gmodal-foot{flex-shrink:0;padding:16px 26px;background:var(--panel-2);gap:16px}
.lg-modal .lg-form-hint{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:25px}
.lg-modal .lg-editor{min-width:0;margin:0;padding:0;border:0}
.lg-modal .lg-form-section+.lg-form-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--brd)}
.lg-modal .lg-form-section h3{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.9;margin-bottom:18px}
.lg-modal .lg-form-section h3 .bi{color:var(--gold);font-size:19px}
.lg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lg-modal .form-group{min-width:0;margin:0}
.lg-field-wide{grid-column:1/-1}
.lg-modal label{color:var(--ink);font-size:12px;font-weight:600;line-height:1.9}
.lg-modal label>span{color:var(--gold)}.lg-modal label>small{color:var(--muted);font-size:10px;margin-inline-start:6px;font-weight:500}
.lg-modal .fld{min-height:50px;box-sizing:border-box;min-width:0}
.lg-modal .fld :is(input,textarea,select){min-width:0;font-size:16px;font-weight:600}
.lg-modal .gsel-btn,.lg-modal .gsel-opt{font-size:16px}
.lg-modal .gsel.drop-up .gsel-list{top:auto;bottom:calc(100% + 8px);transform:translateY(6px)}
.lg-modal .gsel.drop-up.open .gsel-list{transform:none}
.lg-modal .fld>i{display:grid;place-items:center;flex:0 0 20px;line-height:1.4}
.lg-modal .fld.area>i{margin-top:5px}
.lg-modal .lg-doc-hint{font-size:12px;line-height:2;color:var(--muted);margin-bottom:18px}
.lg-modal .lg-up{min-width:0}.lg-modal .lg-add{min-height:62px;width:100%;padding:12px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--panel);border:1px dashed var(--brd);border-radius:14px;color:var(--ink);font-size:13px;font-weight:600}
.lg-modal .lg-add>.bi{font-size:22px;color:var(--gold)}
.lg-modal .lg-add[hidden]{display:none!important}
.lg-modal .lg-docs{display:grid;gap:8px;margin:0}
.lg-modal .lg-doc{width:100%;min-width:0;box-sizing:border-box}
.lg-modal .lg-doc-x{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center}
.lg-modal .lg-doc-nm{min-width:0}
.lg-modal .lg-field-error,.lg-modal .lg-err{font-size:11px;line-height:1.9;margin-top:6px;color:var(--gold)}
.lg-modal [aria-invalid="true"]{border-color:var(--gold)}
.lg-modal .lg-note{margin-top:24px;font-size:11px;line-height:2;gap:10px}
.lg-modal .lg-msg{font-size:13px;line-height:2;margin-top:18px;scroll-margin:20px}
.lg-modal .lg-msg:empty{display:none}
.lg-modal .lg-receipt{text-align:center;padding:20px 24px;outline:none;scroll-margin:20px}
.lg-receipt-icon{display:grid;place-items:center;margin:0 auto 18px;width:68px;height:68px;border:1px solid var(--gold);border-radius:22px;background:var(--panel);color:var(--gold);font-size:36px}
.lg-modal .lg-receipt h3{font-size:27px;line-height:1.8;margin:8px 0}
.lg-modal .lg-receipt p{font-size:13px;line-height:2;color:var(--muted)}
.lg-receipt-code{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:350px;margin:24px auto;padding:16px 20px;border:1px solid var(--brd);border-radius:15px;background:var(--panel);font-size:12px}
.lg-receipt-code strong{font-size:24px;letter-spacing:2px;color:var(--gold)}
.lg-receipt-actions{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:25px}

/* میز بررسی قرارداد: مسیرهای مستقل و راهنمای کوتاه پیش از ارسال. */
.lg-review-intro{gap:60px;margin-bottom:56px}
.lg-review-brief{min-width:0;border-radius:26px;padding:28px}
.lg-review-brief-head{display:flex;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--brd)}
.lg-review-brief-head h2{font-size:22px;line-height:1.8;margin-top:4px}
.lg-review-document{display:grid;place-items:center;flex:0 0 62px;width:62px;height:70px;border:1px solid var(--brd);border-radius:17px;background:var(--panel);color:var(--gold);font-size:36px;box-sizing:border-box}
.lg-review-prepare{list-style:none;padding:0;margin:5px 0}
.lg-review-prepare li{display:flex;align-items:center;gap:15px;padding:20px 0}
.lg-review-prepare li+li{border-top:1px solid var(--brd)}
.lg-review-prepare li>span{color:var(--gold);font-size:12px;font-variant-numeric:tabular-nums}
.lg-review-prepare li>div{min-width:0;flex:1}
.lg-review-prepare strong{font-size:13px;font-weight:600;line-height:2}
.lg-review-prepare p{font-size:11.5px;line-height:1.9;color:var(--muted);margin-top:4px}
.lg-review-prepare li>.bi{width:30px;height:30px;font-size:20px;color:var(--muted)}
.lg-review-private{display:flex;align-items:center;gap:9px;padding-top:17px;border-top:1px solid var(--brd);font-size:11px;line-height:2;color:var(--muted)}
.lg-review-private>.bi{color:var(--gold);font-size:16px}
.lg-review-services,.lg-review-faq{scroll-margin-top:120px}
.lg-review-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lg-review-choice{display:flex;flex-direction:column;min-width:0;padding:24px;border-radius:23px}
.lg-review-choice-primary{border-color:color-mix(in srgb,var(--gold) 45%,var(--brd))}
.lg-review-choice .lg-review-choice-head{padding:0;margin:0 0 20px;border:0;border-radius:0;overflow:visible;gap:14px}
.lg-review-choice-head::before{display:none}
.lg-review-choice-head>div{min-width:0}
.lg-review-tag{display:block;font-size:10px;color:var(--muted);line-height:1.9;margin-bottom:4px}
.lg-review-choice h3{font-size:19px;line-height:1.9}
.lg-review-choice-description{font-size:12px;line-height:2.1;color:var(--muted);margin-bottom:20px!important}
.lg-review-details{border-top:1px solid var(--brd);margin-bottom:19px}
.lg-review-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;list-style:none;cursor:pointer;color:var(--ink);font-size:12px;font-weight:600}
.lg-review-details>summary::-webkit-details-marker,.lg-review-faq-item>summary::-webkit-details-marker{display:none}
.lg-review-details>summary>.bi{color:var(--gold);font-size:12px}
.lg-review-details[open]>summary>.bi{transform:rotate(180deg)}
.lg-review-details-body{padding:2px 0 16px;color:var(--muted);font-size:12px;line-height:2}
.lg-review-details-body ul{margin:10px 0;padding-inline-start:18px}
.lg-review-details-body li+li{margin-top:5px}
.lg-review-choice-action{margin-top:auto}
.lg-review-choice-action>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;line-height:1.9;margin-bottom:13px}
.lg-review-choice-action>span>.bi{color:var(--gold);font-size:13px}
.lg-review-choice-primary .lg-request-btn{border-color:color-mix(in srgb,var(--gold) 45%,var(--brd));color:var(--gold)}
.lg-review-process{margin:46px 0 54px;padding:32px 0;border-top:1px solid var(--brd);border-bottom:1px solid var(--brd)}
.lg-review-process .lg-section-head{margin-bottom:24px}
.lg-review-process .lg-section-head h2{font-size:23px}
.lg-review-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:30px;padding:0;margin:0}
.lg-review-process li{display:flex;align-items:flex-start;gap:14px;min-width:0}
.lg-review-process li>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid var(--brd);border-radius:11px;font-size:13px;color:var(--gold);background:var(--panel)}
.lg-review-process h3{font-size:13px;line-height:2;font-weight:600}
.lg-review-process p{color:var(--muted);font-size:12px;line-height:2;margin-top:5px}
.lg-review-faq{display:grid;grid-template-columns:.7fr 1.3fr;align-items:start;gap:56px}
.lg-review-faq .lg-section-head{margin:0}
.lg-review-faq-list{display:grid;gap:10px;min-width:0}
.lg-review-faq-item{border-radius:18px;min-width:0}
.lg-review-faq-item>summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:18px}
.lg-review-faq-item .lg-symbol{width:38px;height:38px;flex-basis:38px;border-radius:12px;font-size:19px}
.lg-review-faq-label{min-width:0;flex:1;font-size:12px;font-weight:600;line-height:1.9}
.lg-review-faq-label small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}
.lg-review-faq-plus{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;color:var(--gold);font-size:22px;line-height:1}
.lg-review-faq-item[open] .lg-review-faq-plus{transform:rotate(45deg)}
.lg-review-faq-answer{margin:0 18px;padding:17px 0 20px;border-top:1px solid var(--brd);font-size:12px;line-height:2.2;color:var(--muted)}
.lg-review-handoff{display:flex;align-items:center;gap:20px;border-radius:23px;margin-top:42px;padding:26px}
.lg-review-handoff>div:not(.lg-review-handoff-actions){min-width:0}
.lg-review-handoff h2{font-size:18px;line-height:1.9}
.lg-review-handoff p{font-size:12px;line-height:2;color:var(--muted);margin-top:6px}
.lg-review-handoff-actions{display:grid;gap:6px;margin-inline-start:auto;flex-shrink:0}

/* داشبورد شخصی؛ خلاصهٔ زنده، انتخاب‌های بومی و اقدام‌های قابل لمس. */
.dh-welcome{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:2px 0 28px}
.dh-welcome-copy{min-width:0}
.dh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;line-height:1.9;color:var(--gold)}
.dh-welcome h1{font-size:clamp(28px,3.1vw,42px);line-height:1.8;letter-spacing:-.7px;margin:8px 0}
.dh-welcome h1 span{color:var(--gold)}
.dh-welcome p{font-size:13px;line-height:2;color:var(--muted);margin:0}
.dh-welcome-action{display:grid;gap:6px;flex-shrink:0}
.dh-welcome .btn,.dh-home .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;font-size:13px;font-weight:600}
.dh-text-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;font-size:12px;font-weight:500;line-height:1.9;color:var(--ink);text-decoration:none}
.dh-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:30px}
.dh-stat{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;grid-template-rows:auto auto;align-items:center;column-gap:14px;row-gap:4px;padding:22px;border-radius:21px;color:var(--ink);text-decoration:none;min-width:0}
.dh-stat-icon{display:grid;place-items:center;box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--brd);border-radius:14px;background:var(--panel);color:var(--gold);font-size:24px}
.dh-stat>.dh-stat-icon{grid-row:1/3}
.dh-stat-label{font-size:11px;line-height:1.9;color:var(--muted);min-width:0}
.dh-stat>strong{grid-column:2;grid-row:2;font-size:26px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums}
.dh-stat-arrow{grid-column:3;grid-row:1/3;color:var(--gold);font-size:16px}
.dh-stat:hover{border-color:var(--gold)}
.dh-welcome .bi,.dh-stat .bi,.dh-home .bi{display:inline-grid;place-items:center;flex-shrink:0;line-height:1}
.dh-welcome .bi::before,.dh-stat .bi::before,.dh-home .bi::before{display:block;vertical-align:0;line-height:1}
.dh-home :is(h2,h3,p){margin:0}
.dh-inbox{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:13px 20px;margin-bottom:28px;border-radius:18px}
.dh-inbox-title{font-size:11px;color:var(--muted);margin-inline-end:auto}
.dh-inbox a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--ink)}
.dh-inbox a>.bi{color:var(--gold);font-size:18px}
.dh-inbox .unread-badge{position:static}
.dh-inbox [data-badge-count]{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:7px;border:1px solid var(--brd);color:var(--gold);font-size:10px;line-height:1}
.dh-inbox [data-badge-count][hidden]{display:none!important}
.dh-listings{scroll-margin-top:120px}
.dh-listings-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:22px}
.dh-listings-head h2{font-size:27px;line-height:1.8;margin-top:5px}
.dh-listings-head p{font-size:12px;color:var(--muted);line-height:2;margin-top:4px}
.dh-quota{display:flex;align-items:center;gap:7px;font-size:10px;line-height:2;color:var(--muted)}
.dh-quota .bi{color:var(--gold);font-size:14px}
.dh-search{margin-bottom:17px}
.dh-search>label{display:block;font-size:11px;font-weight:600;color:var(--muted);line-height:1.9;margin-bottom:8px}
.dh-search-field{display:flex;align-items:center;gap:12px;padding:6px 15px;border:1px solid var(--brd);border-radius:16px;background:var(--panel)}
.dh-search-field:focus-within{border-color:var(--gold)}
.dh-search-field>.bi{font-size:19px;color:var(--gold)}
.dh-search-field>input{min-width:0;width:100%;height:44px;font:inherit;font-size:16px;font-weight:600;color:var(--ink);background:transparent;border:0;outline:0}
.dh-search-field>button{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;min-height:44px;padding:0 8px 0 0;border:0;border-inline-start:1px solid var(--brd);background:transparent;color:var(--gold);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.dh-filters{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.dh-filters>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 13px;border:1px solid var(--brd);border-radius:12px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:500;line-height:1.8}
.dh-filters>a>span:last-child{display:grid;place-items:center;min-width:21px;min-height:21px;color:var(--muted);font-size:10px}
.dh-filters>a[aria-current]{border-color:var(--gold);color:var(--gold)}
.dh-filters>a[aria-current]>span:last-child{color:var(--gold)}
.dh-home .dh-filter-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;font-size:11px;color:var(--muted);line-height:1.9}
.dh-home .dh-filter-hint a{color:var(--gold);font-size:11px}
.dh-home .pcard{border-radius:22px}
.dh-home .pcard:hover{transform:translateY(-2px)}
.dh-home .pcard .pb{padding:12px 17px 17px}
.dh-home .pcard h3{font-size:16px;font-weight:600;line-height:1.9;margin:0 0 8px;overflow-wrap:anywhere}
.dh-home .pcard h3>a{color:var(--ink);text-decoration:none}
.dh-home .pcard .meta{font-size:11px;line-height:2.1;margin-bottom:10px}
.dh-home .pcard .price{font-size:15px;line-height:2;margin-bottom:17px}
.dh-home .pcard .price small{color:var(--muted);font-size:11px}
.dh-home .pcard .st{display:inline-flex;align-items:center;min-height:28px;line-height:1.8;padding:4px 10px;border:1px solid var(--brd);background:var(--menu-bg);color:var(--ink);font-size:10px;font-weight:600;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass)}
.dh-home .pcard .st.on,.dh-home .pcard .st.sold{color:var(--gold)}
.dh-home .pcard .acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dh-home .pcard .acts .btn-sm-glass{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;height:auto;line-height:1.8;padding:9px 7px;font-size:11px;font-weight:600;white-space:normal;min-width:0}
.dh-home .pcard .acts .bi{font-size:16px}
.dh-home .pcard .acts .dh-edit{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,var(--brd))}
.dh-home .pcard .act-del>.btn-sm-glass{grid-column:1/-1;background:transparent;border-color:transparent;color:var(--muted);font-size:10px}
.dh-home .pcard .act-del>.btn-sm-glass:hover{border-color:var(--brd);color:var(--ink)}
.dh-empty{padding:40px 28px;text-align:center;border-radius:24px}
.dh-empty-icon{display:grid;place-items:center;box-sizing:border-box;width:66px;height:66px;border:1px solid var(--brd);border-radius:22px;color:var(--gold);font-size:32px;background:var(--panel);margin:0 auto 20px}
.dh-empty h3{font-size:24px;line-height:1.8}
.dh-empty p{font-size:13px;line-height:2;color:var(--muted);max-width:420px;margin:10px auto 24px}
.dh-verification{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:20px;margin-bottom:18px;border-radius:18px}
.dh-verification>div{flex:1;min-width:180px}
.dh-verification h2{font-size:14px;line-height:1.9}
.dh-verification p{font-size:11px;color:var(--muted);line-height:2;margin-top:4px}
.dh-verification>a{color:var(--gold)}
.dh-welcome :is(a,button):focus-visible,.dh-summary a:focus-visible,.dh-home :is(a,button):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.dh-home .dash-pager{flex-wrap:wrap}
.dh-home .dash-pager .btn-sm-glass{display:grid;place-items:center;min-height:44px}
.dh-sold-modal,.dh-sold-modal *{transition-property:opacity,transform,background-color,border-color,box-shadow,color!important}
.dh-sold-modal .gmodal-dialog{width:min(480px,100%);max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden}
.dh-sold-modal .gmodal-head{flex-shrink:0;gap:16px}
.dh-sold-modal h2{font-size:20px;line-height:1.8;outline:none}
.dh-sold-modal .gmodal-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px}
.dh-sold-modal form{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.dh-sold-modal .gmodal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.dh-sold-modal .gmodal-foot{flex-shrink:0;gap:12px}
.dh-sold-modal .gmodal-foot>button{min-height:44px}
.dh-sold-modal .sold-money input{font-size:16px;font-weight:600}
@media(max-width:1000px){.user-dash .dh-grid .dash-nav-opportunities{order:7}.user-dash .dh-grid .dash-nav-verification{order:8}.user-dash .dh-grid .dash-nav-support{order:9}.user-dash .dh-grid .dash-nav-settings{order:10}.user-dash .dh-grid .dash-side-admin{order:11}}
@media(max-width:1000px){.dh-welcome{gap:24px}.dh-summary{gap:10px}.dh-stat{padding:18px;grid-template-columns:36px minmax(0,1fr);gap:8px 10px}.dh-stat .dh-stat-icon{width:36px;height:36px;font-size:20px;border-radius:12px}.dh-stat-arrow{display:none!important}.dh-stat>strong{font-size:24px}.dh-stat-label{font-size:10px}.user-dash .dh-grid .dash-side .dash-nav-wide{grid-column:span 6;min-height:56px;padding:10px}.user-dash .dh-grid .dash-side .dash-nav-wide .dash-side-icon{width:32px;height:32px;flex-basis:32px}.user-dash .dh-grid .dash-nav-wide .dash-side-chevron{display:none}.user-dash .dh-grid .dash-nav-wide .dash-side-label{font-size:11px;white-space:normal}.dh-inbox{gap:18px}}
@media(max-width:700px){.dh-welcome{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px}.dh-welcome h1{font-size:30px;line-height:1.8;letter-spacing:-.4px}.dh-welcome p{font-size:12px}.dh-welcome-action{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;width:100%;gap:8px 14px}.dh-welcome-action .btn{font-size:12px}.dh-welcome-action .dh-text-link{font-size:10px}.dh-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.dh-stat{padding:16px 13px;border-radius:17px;column-gap:8px}.dh-stat-label{font-size:10px}.dh-inbox{padding:10px 14px;gap:8px 15px}.dh-inbox-title{flex:0 0 100%;font-size:10px}.dh-inbox a{font-size:11px}.dh-listings{scroll-margin-top:20px}.dh-listings-head{gap:10px}.dh-listings-head h2{font-size:25px}.dh-search-field{gap:9px;padding-inline:12px}.dh-search-field>button{font-size:11px;gap:6px}.dh-filters{gap:7px}.dh-filters>a{flex:1 1 calc(50% - 7px);padding:9px 12px;font-size:11px;justify-content:space-between}.dh-empty{padding:30px 20px}.dh-empty h3{font-size:21px}.dh-empty p{font-size:12px}.dh-home .pcard h3{font-size:18px}.dh-home .pcard .price{font-size:17px}.dh-home .pcard .acts .btn-sm-glass{font-size:12px}.dh-sold-modal{padding:10px}.dh-sold-modal .gmodal-dialog{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}}
@media(max-width:1000px){.lg-review-intro{gap:28px}.lg-review-choices{gap:12px}.lg-review-choice{padding:20px}.lg-review-choice h3{font-size:17px}.lg-review-choice-head .lg-symbol{width:40px;height:40px;flex-basis:40px;font-size:21px}.lg-review-faq{gap:28px;grid-template-columns:.8fr 1.2fr}.lg-review-handoff{flex-wrap:wrap}}
@media(max-width:800px){.lg-review-choices{grid-template-columns:1fr;gap:14px}.lg-review-choice h3{font-size:20px}.lg-review-choice-description{max-width:600px}.lg-review-brief{padding:23px}.lg-review-faq{grid-template-columns:1fr;gap:24px}.lg-review-process ol{grid-template-columns:1fr;gap:24px}.lg-review-handoff-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;width:100%;margin:0}}
@media(max-width:700px){.lg-review-intro{margin-bottom:38px}.lg-review-brief-head h2{font-size:20px}.lg-review-services,.lg-review-faq{scroll-margin-top:20px}.lg-review-services>.lg-section-head>.lg-text-link{margin-top:10px}.lg-review-process{margin:34px 0 38px;padding:27px 0}.lg-review-faq-item>summary{padding:15px;gap:11px}.lg-review-faq-item .lg-symbol{width:34px;height:34px;flex-basis:34px;font-size:17px}.lg-review-faq-answer{margin:0 15px}.lg-review-handoff{padding:21px;gap:14px}.lg-review-handoff>div:not(.lg-review-handoff-actions){flex:1;min-width:170px}.lg-review-handoff h2{font-size:17px}.lg-review-handoff-actions{gap:8px;justify-content:space-between}.lg-review-handoff-actions .lg-text-link{font-size:12px}}
@media(max-width:1000px){.lg-intro{gap:28px}.lg-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lg-help{flex-wrap:wrap}.lg-help-actions{display:flex;gap:16px;flex-wrap:wrap}}
@media(max-width:700px){.lg-page{padding-top:24px}.lg-intro{grid-template-columns:1fr;gap:26px;margin-bottom:40px}.lg-intro h1{font-size:35px;letter-spacing:-.7px}.lg-intro-copy>p{font-size:13px}.lg-roadmap{padding:22px}.lg-section-head{display:block}.lg-section-head h2{font-size:23px}.lg-search{margin-top:24px;max-width:none}.lg-cards{grid-template-columns:1fr;gap:14px}.lg-contract{padding:22px}.lg-contract .lg-contract-subtitle{min-height:0}.lg-contract h3{font-size:20px}.lg-request-btn{font-size:13px}.lg-help{padding:22px;gap:15px}.lg-help img{width:64px;height:64px;border-radius:18px}.lg-help>div:not(.lg-help-actions){flex:1;min-width:160px}.lg-help h2{font-size:18px}.lg-help-actions{width:100%;margin:0;justify-content:space-between}.lg-modal{padding:10px}.lg-modal .gmodal-dialog{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}.lg-modal .gmodal-head{padding:18px}.lg-modal .gmodal-head h2{font-size:19px}.lg-modal .gmodal-body{padding:20px 18px}.lg-modal .gmodal-foot{padding:12px 18px;padding-bottom:max(12px,env(safe-area-inset-bottom));gap:10px}.lg-modal .gmodal-foot>.lg-text-link{font-size:11px}.lg-modal .gmodal-foot>.btn{font-size:13px;padding-inline:16px}.lg-form-grid{grid-template-columns:1fr;gap:18px}.lg-modal .lg-receipt{padding:16px 0}.lg-modal .lg-receipt h3{font-size:24px}.lg-catalog{scroll-margin-top:20px}}
