/* ==========================================================================
   mz-mourning.css — تم عزا (V2.0)
   فقط وقتی تنظیم عزا فعال باشد در _Layout.cshtml بعد از theme.css بارگذاری می‌شود و
   کلاس mz-mourning روی <body> قرار می‌گیرد. هیچ‌چیز از theme.css دست نمی‌خورد.

   اصل: کل رابط کاملاً خاکستری (grayscale) است، ولی پوسترها و عکس‌های مجالس و تایل‌های نقشه
   عمداً رنگی می‌مانند (محتوا هستند، نه تم).
   روش:
   ۱) متغیرهای --mz-* به خاکستری خنثی (R=G=B) برمی‌گردند (بیشتر صفحه‌ها فقط با همین عوض می‌شوند)
   ۲) رنگ‌های سخت‌کد در theme.css (گرادیان قرمز دکمه‌ها، سبز دکمهٔ حمایت، تگ‌های صورتی، نقشه و ...)
      با filter: grayscale(1) روی «اجزایی که عکس داخلشان نیست» خاکستری می‌شوند؛ بدون این‌که هر
      رنگ را جدا بنویسیم و بدون خراب‌کردن طرح (فیلتر طرح را با همان روشنایی نگه می‌دارد)
   ۳) الگوهای اسلیمی (زمینه، هدر، منو، فوتر) با grayscale دیده می‌شوند، نه حذف
   ========================================================================== */

/* ---------- ۱) پالت: خاکستری خنثی ---------- */
body.mz-mourning {
  --mz-bg: #d8d8d8;           /* سطح داخلی کارت‌ها (نه زمینهٔ صفحه) */
  --mz-text: #161616;
  --mz-muted: #505050;

  --mz-red: #3c3c3c;          /* تأکید: دکمه‌ها، لینک‌ها، آیکن‌ها (قبلاً قرمز) */
  --mz-red-title: #1a1a1a;    /* عنوان‌ها */
  --mz-red-dark: #0e0e0e;
  --mz-maroon: #121212;

  --mz-gold: #8c8c8c;         /* لبه‌ها و خط‌ها (قبلاً طلایی) */
  --mz-gold-2: #b0b0b0;
  --mz-gold-3: #cdcdcd;
  --mz-gold-4: #e2e2e2;
  --mz-gold-deep: #6a6a6a;

  --mz-cream: #e9e9e9;        /* کارت‌ها (قبلاً کرم) */
  --mz-cream-2: #d9d9d9;
  --mz-cream-3: #c6c6c6;
  --mz-cream-4: #dfdfdf;
  --mz-cream-5: #e3e3e3;
  --mz-frame: #b8b8b8;

  --mz-live: #262626;         /* نشان «پخش زنده» (قبلاً قرمز) */
  --mz-green: #6e6e6e;
}

/* ---------- ۲) زمینهٔ صفحه ---------- */
body.mz-mourning.mz-body { background: #171717; }
/* الگوی اسلیمی زمینه (۹۱×۱۵۸) قرمز خالص با شفافیت حداکثر ۱۱٪ است؛ روی سیاه دیده نمی‌شد.
   سه لایه (شفافیت روی هم جمع می‌شود) + invert ← خاکستری روشن؛ opacity شدت نهایی را تنظیم می‌کند */
body.mz-mourning .mz-bg {
  background-image: url('/assets/20e3e724e4dd343c92769f81a0ab8484.png'), url('/assets/20e3e724e4dd343c92769f81a0ab8484.png'), url('/assets/20e3e724e4dd343c92769f81a0ab8484.png');
  filter: invert(1) grayscale(1);
  opacity: .75;
}
/* هالهٔ کم‌رنگ (مثل نور ماه) بالای صفحه. position: fixed است و در چیدمان flex بدنه شرکت نمی‌کند */
body.mz-mourning::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse 90% 45% at 50% 0%, rgba(200, 200, 200, .10), transparent 70%);
}
body.mz-mourning ::selection { background: #4a4a4a; color: #fff; }

/* ---------- ۳) هدر، منو، فوتر ---------- */
body.mz-mourning .mz-header { background: linear-gradient(180deg, #1c1c1c, #070707); box-shadow: 0 10px 30px rgba(0, 0, 0, .75); }
/* الگوی طلایی هدر و فوتر (طلایی روشن با شفافیت ≤۳۲٪): خاکستری روشن و کمی پررنگ‌تر از قبل (قبلاً opacity: .35 بود) */
body.mz-mourning .mz-gold { filter: grayscale(1); opacity: .9; }
/* نوار اسلیمی منو (تصویر مات قرمز/طلایی): قبلاً حذف شده بود؛ برگشت با grayscale و پوشش نیمه‌شفاف تا نقش دیده شود */
body.mz-mourning .mz-menubar { background-color: #000; filter: grayscale(1); border-top: 1px solid #3a3a3a; border-bottom: 1px solid #555; }
body.mz-mourning .mz-mwrap { background: linear-gradient(180deg, rgba(0, 0, 0, .86), rgba(0, 0, 0, .80)); }
body.mz-mourning .mz-band { filter: grayscale(1) brightness(.85); }
body.mz-mourning .mz-footer-deco { filter: grayscale(1); opacity: .45; }
body.mz-mourning .mz-line rect { fill: #5c5c5c; }
body.mz-mourning .mz-footer { background: linear-gradient(180deg, #161616, #050505); border-top: 1px solid #4a4a4a; }
body.mz-mourning .mz-footer-links .sep { color: #777; }
body.mz-mourning .mz-footer-links a { color: #ececec !important; }
body.mz-mourning .mz-date svg { stroke: var(--mz-gold-2); }
body.mz-mourning .mz-brand img { border-color: var(--mz-gold-2); box-shadow: 0 0 0 2px #000, 0 8px 18px rgba(0, 0, 0, .55); }
body.mz-mourning .mz-brand-title { color: #f2f2f2; text-shadow: 0 2px 6px rgba(0, 0, 0, .6) !important; }
body.mz-mourning .mz-mitem.cur { color: #f2f2f2 !important; }
/* نوار اطلاع‌رسانی اختیاری زیر هدر (متن را مدیر در /Mourning می‌نویسد) */
.mz-mourn-bar {
  position: relative; z-index: 2; padding: 8px 16px; text-align: center;
  background: #050505; color: #e2e2e2; font-size: 13.5px; font-weight: 700; line-height: 1.9;
  border-bottom: 1px solid #4a4a4a;
}

/* ---------- ۴) کارت‌ها و قاب صفحه (اجزایی که عکس داخلشان است ← فیلتر نمی‌گیرند) ---------- */
body.mz-mourning .mz-card,
body.mz-mourning .mz-page main:not(:has(> .mz-home)) {
  border-color: #6a6a6a;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .55), inset 0 3px 0 0 #4a4a4a, inset 0 0 0 4px var(--mz-cream), inset 0 0 0 5px #8a8a8a;
}
body.mz-mourning .mz-page.mz-bare main:not(:has(> .mz-home)) { border: 0; box-shadow: none; }
body.mz-mourning .mz-lift:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, .18); }
body.mz-mourning .mz-dpanel { box-shadow: 0 8px 24px rgba(0, 0, 0, .16); }
body.mz-mourning .mz-page .table-striped > tbody > tr:nth-of-type(odd) > * { background-color: rgba(0, 0, 0, .05); }
body.mz-mourning .mz-page .table-hover > tbody > tr:hover > * { background-color: rgba(0, 0, 0, .07); }
/* پس‌زمینهٔ نقشه تا وقتی تایل‌ها نیامده (کرم بود) */
body.mz-mourning .mz-mapbox { background: #cfcfcf; }
/* لایت‌باکس */
body.mz-mourning .mz-lb { background: rgba(8, 8, 8, .82); }
body.mz-mourning .mz-lb-poster.img { background: #111; }
/* شمارش معکوس فوری (قرمز ثابت بود) */
body.mz-mourning .mz-up.urgent .big, body.mz-mourning .mz-up.urgent .un { color: #2a2a2a; }
body.mz-mourning .mz-ico-pulse { animation: none; }

/* ---------- ۵) خاکستری‌کردن اجزای رنگی (فقط اجزای بدون عکس) ---------- */
/* فیلتر رنگ سخت‌کد را هم خاکستری می‌کند و طرح (گرادیان‌ها، روشنایی‌ها) را حفظ می‌کند. */
body.mz-mourning :is(
  /* صفحهٔ اول */
  .mz-navbtn, .mz-person:not(:has(img)), .mz-liverow > :not(.mz-player), .mz-livebtn, .mz-livebadge, .mz-badge, .mz-tag, .mz-chip,
  .mz-ddbtn, .mz-ddmenu, .mz-opt, .mz-fchip, .mz-fclear, .mz-count, .mz-dot, .mz-ico-pulse, .mz-box,
  .mz-search-btn, .mz-bar, .mz-hg, .mz-error, .mz-input, .mz-ttl svg, .mz-search-toggle svg, .mz-collapse-btn,
  .mz-soon-node, .mz-soon-av:not(.has), .mz-soon-chip, .mz-soon-head .cnt, .mz-soon-head .rng, .mz-soon-row,
  /* جستجو، داشبورد، فرم، جزئیات، دکمه‌های عملیات */
  .mz-sbar > button, .mz-sbar > input, .mz-act, .mz-tact, [class*="mz-st-"], .mz-dpanel, .mz-fsec-h, .mz-addrow,
  .mz-upl-pick, .mz-det-sec, .mz-det-h,
  /* درباره ما / تماس با ما: نماد رنگی هر شبکه */
  .mz-ch-ic,
  /* گالری */
  .mz-gcard-n, .mz-subjchip,
  /* پنجرهٔ اشتراک (بیرون از .mz-page هم باشد) */
  #share .mz-share-t .ic, #share .mz-share-copy,
  /* پخش زنده (رسانه‌ها رنگی می‌مانند) */
  .mz-lv-badge, .mz-lv-dot, .mz-lv-play, .mz-lv-people a, .mz-lv-links a,
  /* ورود */
  .form__input, .btn__login, .company__info,
  /* Bootstrap */
  .btn, .badge, .alert, .nav-link, .page-link, .dropdown-menu, .list-group-item, .form-control, .form-select,
  .form-check-input, .input-group-text, .progress-bar, .spinner-border
) { filter: grayscale(1); }

/* رنگ‌های inline (مثل style="color:green") و کلاس‌های رنگی Bootstrap: فقط وقتی عکس/ویدیو/نقشه داخلشان نیست */
body.mz-mourning :is(.mz-page, .modal) :is(
  [style*="color"],
  [class*="text-success"], [class*="text-danger"], [class*="text-info"], [class*="text-warning"], [class*="text-primary"],
  [class*="bg-success"], [class*="bg-danger"], [class*="bg-warning"], [class*="bg-info"], [class*="bg-primary"], [class*="bg-secondary"],
  [class*="border-success"], [class*="border-danger"], [class*="border-warning"], [class*="border-info"], [class*="border-primary"]
):not(:has(img, video, canvas, iframe, .mapboxgl-map)) { filter: grayscale(1); }

/* ---------- ۶) اجزای مشخص ---------- */
/* ردیف پخش زنده: خودِ ردیف فیلتر نمی‌گیرد (ویدیو داخلش است و باید رنگی بماند)؛ فرزندهایش جدا خاکستری می‌شوند */
body.mz-mourning .mz-liverow { background: #dcdcdc; border-color: #8c8c8c; }
/* کارت بزرگواران با عکس: عکس رنگی می‌ماند (محتواست)؛ قاب و متن خاکستری */
body.mz-mourning .mz-person:has(img) { background: #dcdcdc; border-color: #8c8c8c; }
body.mz-mourning .mz-person:has(img) > span:not(.av) { filter: grayscale(1); }
body.mz-mourning .mz-player, body.mz-mourning .mz-player .frame, body.mz-mourning .mz-player iframe { filter: none !important; }
/* دکمهٔ «ثبت مجلس توسط شما»: تیره و پررنگ تا نقطهٔ تأکید صفحه بماند (قبلاً طلایی/قرمز) */
body.mz-mourning .mz-navbtn.danger { background: linear-gradient(145deg, #4a4a4a, #1a1a1a); border-color: #0a0a0a; color: #fff !important; }
body.mz-mourning .mz-navbtn.danger:hover { background: linear-gradient(145deg, #5a5a5a, #222); box-shadow: 0 12px 26px rgba(0, 0, 0, .5); }
body.mz-mourning .mz-navbtn.danger svg { stroke: #fff; }
body.mz-mourning .mz-navbtn:hover { box-shadow: 0 12px 26px rgba(0, 0, 0, .3); }
/* آیکن‌های inline که رنگ را با ویژگی stroke/fill دارند */
body.mz-mourning svg[stroke="#a80000"] { stroke: var(--mz-red); }
body.mz-mourning svg[fill="#a80000"] { fill: var(--mz-red); }
body.mz-mourning svg[stroke="#6b0000"] { stroke: var(--mz-red-title); }
/* ذره‌بین جستجو (بنفش ثابت بود) */
body.mz-mourning .mz-page .mz-sbar > button svg, body.mz-mourning .mz-search-btn svg { stroke: var(--mz-red-title); }
/* ساعت شنی: شن (زرد) و بدنه */
body.mz-mourning .mz-hg path[stroke="#b8862a"] { stroke: var(--mz-gold-deep); }
body.mz-mourning .mz-hg rect[fill="#d4a43a"], body.mz-mourning .mz-hg rect[fill="#e0a93a"] { fill: var(--mz-gold); }
body.mz-mourning .mz-hg line[stroke="#e0a93a"] { stroke: var(--mz-gold); }
/* عکس بزرگواران در «تا ۲۴ ساعت آینده»: مثل .mz-person با عکس، محتواست و رنگی می‌ماند */
body.mz-mourning .mz-soon-av.has { filter: none !important; }
/* ردیف «تا ۲۴ ساعت آینده» با عکس: خود ردیف فیلتر نمی‌گیرد (عکس رنگی می‌ماند)؛ متن کنارش خاکستری */
body.mz-mourning .mz-soon-row:has(img) { filter: none !important; }
body.mz-mourning .mz-soon-row:has(img) > .mz-soon-meta { filter: grayscale(1); }

/* ---------- ۷) ورود / ثبت نام / بازیابی گذرواژه ---------- */
body.mz-mourning .mz-page .company__info {
  background: linear-gradient(160deg, rgba(48, 48, 48, .94) 0%, rgba(10, 10, 10, .97) 100%), url('/res/bg-menu.png');
}
body.mz-mourning .mz-page .btn__login { background: linear-gradient(180deg, #5a5a5a 0%, #333 55%, #1a1a1a 100%); box-shadow: 0 8px 18px rgba(0, 0, 0, .28); }
body.mz-mourning .mz-page .btn__login:hover, body.mz-mourning .mz-page .btn__login:focus-visible {
  background: linear-gradient(180deg, #333 0%, #1a1a1a 100%); box-shadow: 0 10px 22px rgba(0, 0, 0, .35);
}
/* لوگوی سفید روی مشکی به‌جای لوگوی قرمز */
body.mz-mourning .mz-page .company__info::before { background: #000 url('/Img/logo-black.jpg') center / cover; border-color: var(--mz-gold-2); }
body.mz-mourning .mz-page .company__info::after { color: #f2f2f2; }
body.mz-mourning .mz-auth-logo { background: #000 url('/Img/logo-black.jpg') center / cover; border-color: var(--mz-gold-2); }
/* دکمهٔ منوی داشبورد در موبایل */
body.mz-mourning .mz-dtoggle { color: #f2f2f2; border-color: var(--mz-gold-2); background: rgba(240, 240, 240, .10); }

body.mz-mourning .mz-soon-node { animation: none; }
body.mz-mourning .mz-soon-row:hover { background: #e8e8e8; }