/* =========================================================
   تم نوآر (Noir) — رابط سینمایی تیرهٔ فناوری
   ---------------------------------------------------------
   پالت:
     مشکی نزدیک        #080b0d   --surface-soft (پس‌زمینه)
     زغال تیره          #111619   --surface      (پنل‌ها)
     سبز-مشکی عمیق     #101719   --surface-alt
     سفید گرم           #f0f4ed   --dark         (متن اصلی)
     لیموی اسیدی        #d9ff3f   --primary      (تأکید اصلی)
     فیروزه‌ای          #69d8df   --secondary/accent
     یشمی تیره          #273234   --border       (مرز نازک فنی)
     خاکستری-سبز محو    #7e8b89   --gray         (متن محو)

   تمام رنگ‌ها از طریق متغیرهای همین بلوک قابل تعویض‌اند.
   فایل فقط در صورت فعال‌بودن تم noir روی body بارگذاری می‌شود
   و هیچ تم دیگری را تحت تاثیر قرار نمی‌دهد.
   ========================================================= */

/* ===== پالت و متغیرهای پایه ===== */
body.theme-noir {
    --primary: #d9ff3f;
    --primary-dark: #b2d62a;
    --primary-light: #eaff85;
    --secondary: #69d8df;
    --secondary-light: #101719;
    --accent: #69d8df;
    --accent-pink: #69d8df;
    --success: #69d8df;
    --danger: #ff6b76;
    --warning: #d9ff3f;
    --info: #69d8df;
    --dark: #f0f4ed;
    --gray: #7e8b89;
    --gray-light: #273234;
    --gray-lighter: #161d20;
    --surface: #111619;
    --surface-soft: #080b0d;
    --surface-alt: #111619;
    --border: #273234;
    --white: #f0f4ed;
    --gradient-primary: linear-gradient(135deg, #d9ff3f 0%, #69d8df 100%);
    --gradient-secondary: linear-gradient(145deg, #080b0d 0%, #101719 100%);
    --gradient-accent: linear-gradient(135deg, #69d8df 0%, #d9ff3f 100%);
    --gradient-hero: linear-gradient(135deg, #080b0d 0%, #0e1416 55%, #101719 100%);
    --shadow: 0 10px 30px rgba(0, 0, 0, .35);
    --shadow-lg: 0 24px 60px rgba(0, 0, 0, .45);
    --shadow-xl: 0 34px 90px rgba(0, 0, 0, .55);
    --radius: 14px;
    --radius-sm: 9px;
    --radius-xs: 5px;
    --theme-primary-rgb: 217, 255, 63;
    --theme-accent-rgb: 105, 216, 223;
    --noir-mono: 'Courier New', 'Vazirmatn', Tahoma, monospace;
}

html:has(body.theme-noir) { background: #080b0d; }

body.theme-noir {
    color: var(--dark);
    background:
        radial-gradient(circle at 92% 4%, rgba(105, 216, 223, .05), transparent 26rem),
        radial-gradient(circle at 6% 12%, rgba(217, 255, 63, .035), transparent 24rem),
        var(--surface-soft);
}

/* ----- اسکن‌لاین سینمایی بسیار محو روی کل صفحه (استاتیک: بدون انیمیشن برای حفظ سرعت) ----- */
body.theme-noir::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 9998;
    pointer-events: none;
    background: repeating-linear-gradient(0deg, rgba(240, 244, 237, .014) 0 1px, transparent 1px 3px);
}

/* ----- المان‌های پایه ----- */
body.theme-noir ::-webkit-scrollbar-track { background: #0b0f11; }
body.theme-noir ::-webkit-scrollbar-thumb { background: #273234; }
body.theme-noir ::-webkit-scrollbar-thumb:hover { background: #3d4c4f; }
body.theme-noir ::selection { background: rgba(217, 255, 63, .22); color: #f0f4ed; }
body.theme-noir a { color: inherit; }
body.theme-noir .section { color: var(--dark); }
body.theme-noir .section-alt { background: linear-gradient(180deg, #0c1113, #0e1416); }

/* ----- تیترها و راهنمای سکشن‌ها ----- */
body.theme-noir .section-title { color: var(--dark); }
body.theme-noir .section-title::after { background: var(--primary); }
body.theme-noir .section-desc { color: var(--gray); }
body.theme-noir .section-eyebrow {
    color: var(--primary);
    font-family: var(--noir-mono);
    letter-spacing: .08em;
}
body.theme-noir .section-eyebrow::before { background: var(--primary); height: 2px; }
body.theme-noir .section-eyebrow.light { color: var(--secondary); }
body.theme-noir .section-eyebrow.light::before { background: var(--secondary); }
body.theme-noir .section-link { color: var(--primary); }
body.theme-noir .section-link:hover { color: var(--primary-light); }

/* ===== هدر ===== */
body.theme-noir .header {
    background: rgba(8, 11, 13, .9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
    box-shadow: none;
}
body.theme-noir .header.scrolled {
    border-bottom-color: rgba(217, 255, 63, .35);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .45);
}

/* ----- لوگو: جان‌مکان هندسی بدون برند ----- */
body.theme-noir .logo { color: var(--dark); }
body.theme-noir .logo span {
    background: none;
    -webkit-text-fill-color: currentColor;
    color: var(--dark);
}
body.theme-noir .logo-icon {
    background: #101719;
    border: 1px solid var(--border);
    color: var(--primary);
    box-shadow: none;
    border-radius: 11px;
}
body.theme-noir .logo-icon::before { display: none; }
body.theme-noir .logo-copy strong { color: var(--dark); }
body.theme-noir .logo-copy small { color: var(--gray); }

/* ----- ناوبری ----- */
body.theme-noir .nav { background: transparent; border: none; padding: 0; border-radius: 0; gap: 2px; }
body.theme-noir .nav-link { color: var(--gray); }
body.theme-noir .nav-link:hover,
body.theme-noir .nav-link.active {
    color: var(--primary);
    background: rgba(217, 255, 63, .08);
}
body.theme-noir .nav-link::after { display: none; }

/* ----- جستجوی هدر و دکمه‌های آیکنی ----- */
body.theme-noir .search-bar input {
    background: #0d1214;
    border-color: var(--border);
    color: var(--dark);
}
body.theme-noir .search-bar input::placeholder { color: #4a5755; }
body.theme-noir .search-bar input:focus {
    border-color: rgba(217, 255, 63, .5);
    box-shadow: 0 0 0 3px rgba(217, 255, 63, .1);
}
body.theme-noir .search-bar button {
    background: transparent;
    color: var(--gray);
    box-shadow: none;
}
body.theme-noir .search-bar button:hover { color: var(--primary); }
body.theme-noir .btn-icon {
    background: #0d1214;
    border: 1px solid var(--border);
    color: var(--gray);
}
body.theme-noir .btn-icon:hover {
    border-color: rgba(217, 255, 63, .4);
    background: rgba(217, 255, 63, .07);
    color: var(--primary);
}
body.theme-noir .btn-icon .badge { background: var(--primary); color: #080b0d; }
body.theme-noir .avatar-button { border-color: rgba(217, 255, 63, .35) !important; box-shadow: none; }
body.theme-noir .user-dropdown .dropdown-menu {
    background: #101719;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-xl);
}
body.theme-noir .user-dropdown .dropdown-menu a { color: var(--dark); }
body.theme-noir .user-dropdown .dropdown-menu a:hover { background: rgba(217, 255, 63, .07); color: var(--primary); }
body.theme-noir .user-dropdown .dropdown-menu a.danger:hover { background: rgba(255, 107, 118, .1); color: var(--danger); }
body.theme-noir .user-dropdown .dropdown-menu .dropdown-header { background: #0b1012; }
body.theme-noir .user-dropdown .dropdown-menu .dropdown-header small { color: var(--gray); }
body.theme-noir .user-dropdown .dropdown-menu .divider { background: var(--border); }

/* ===== دکمه‌ها ===== */
body.theme-noir .btn-primary {
    background: var(--primary);
    color: #080b0d;
    box-shadow: 0 6px 18px rgba(217, 255, 63, .16);
}
body.theme-noir .btn-primary:hover {
    background: var(--primary-light);
    color: #080b0d;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(217, 255, 63, .24);
}
body.theme-noir .btn-secondary {
    background: #101719;
    color: var(--dark);
    border: 1px solid var(--border);
    box-shadow: none;
}
body.theme-noir .btn-secondary:hover { border-color: rgba(105, 216, 223, .4); background: #141b1e; }
body.theme-noir .btn-glass {
    background: rgba(240, 244, 237, .05);
    border: 1px solid rgba(105, 216, 223, .28);
    color: var(--dark);
}
body.theme-noir .btn-glass:hover {
    background: rgba(105, 216, 223, .12);
    border-color: rgba(105, 216, 223, .5);
    color: var(--dark);
}
body.theme-noir .btn-ghost {
    background: transparent;
    color: var(--dark);
    border: 1px solid var(--border);
}
body.theme-noir .btn-ghost:hover {
    color: var(--primary);
    border-color: rgba(217, 255, 63, .4);
    background: rgba(217, 255, 63, .06);
}
body.theme-noir .btn-outline {
    background: transparent;
    border-color: var(--border);
    color: var(--dark);
}
body.theme-noir .btn-outline:hover { border-color: rgba(217, 255, 63, .4); color: var(--primary); }
body.theme-noir .btn-light { background: var(--primary); color: #080b0d; box-shadow: none; }
body.theme-noir .btn-light:hover { background: var(--primary-light); color: #080b0d; }
body.theme-noir .btn-danger { background: #2a1214; color: #ff9aa2; border: 1px solid #5c2329; box-shadow: none; }
body.theme-noir .btn-success { background: #0e2a1f; color: #7fe9bd; border: 1px solid #1d4d3a; box-shadow: none; }

/* ===== هیرو ===== */
body.theme-noir .hero { color: var(--dark); background: var(--gradient-hero); }
body.theme-noir .hero::before { background: radial-gradient(circle, rgba(105, 216, 223, .1), transparent 68%); }
body.theme-noir .hero::after { background: radial-gradient(circle, rgba(217, 255, 63, .08), transparent 70%); }

body.theme-noir .home-hero {
    overflow: hidden;
    border-bottom: 1px solid var(--border);
    background:
        radial-gradient(circle at 14% 18%, rgba(105, 216, 223, .12), transparent 24rem),
        radial-gradient(circle at 86% 78%, rgba(217, 255, 63, .09), transparent 26rem),
        var(--gradient-hero);
}
/* شبکه فنی ریز در پس‌زمینه هیرو */
body.theme-noir .home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    background-image:
        linear-gradient(rgba(105, 216, 223, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(105, 216, 223, .055) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: radial-gradient(circle at 58% 42%, #000 0%, transparent 72%);
    mask-image: radial-gradient(circle at 58% 42%, #000 0%, transparent 72%);
}
body.theme-noir .home-hero::after {
    width: 340px;
    height: 340px;
    bottom: -30%;
    left: -6%;
    background: radial-gradient(circle, rgba(217, 255, 63, .1), transparent 70%);
}
body.theme-noir .hero-text { position: relative; z-index: 2; }
body.theme-noir .hero-badge {
    color: var(--secondary);
    border-color: rgba(105, 216, 223, .22);
    background: rgba(105, 216, 223, .06);
    font-family: var(--noir-mono);
    letter-spacing: .06em;
}
body.theme-noir .hero-badge-dot { background: var(--primary); box-shadow: 0 0 0 5px rgba(217, 255, 63, .14); }
body.theme-noir .hero-title { color: var(--dark); }
body.theme-noir .hero-title span {
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
body.theme-noir .hero-desc { color: var(--gray); }
body.theme-noir .hero-trust-row { color: #6b7876; }
body.theme-noir .hero-trust-row i { color: var(--secondary); }
body.theme-noir .hero-actions .btn-primary { box-shadow: 0 8px 22px rgba(217, 255, 63, .18); }

/* ----- پنل پیش‌نمایش مرورگرِ هیرو ----- */
body.theme-noir .hero-orbit { border-color: rgba(105, 216, 223, .14); }
body.theme-noir .orbit-two { border-color: rgba(217, 255, 63, .16); }
body.theme-noir .hero-dashboard-card {
    background: #101719;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: 0 40px 90px rgba(0, 0, 0, .55);
    transform: perspective(1200px) rotateY(-6deg) rotateX(2deg);
    transition: transform .5s cubic-bezier(.4, 0, .2, 1), box-shadow .5s ease;
}
/* خط لیمویی مورب (تأکید اسیدی کنترل‌شده) */
body.theme-noir .hero-dashboard-card::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 44%;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--primary), transparent);
    opacity: .5;
    transform: rotate(9deg);
    pointer-events: none;
}
body.theme-noir .mock-window-head { background: #0b1012; border-bottom-color: var(--border); }
body.theme-noir .mock-window-head span { background: #2b383b; }
body.theme-noir .mock-window-head span:first-child { background: var(--primary); }
body.theme-noir .mock-window-head span:nth-child(2) { background: var(--secondary); }
body.theme-noir .mock-window-head small { color: var(--gray); font-family: var(--noir-mono); letter-spacing: .08em; }
body.theme-noir .mock-body { background: #0e1416; }
body.theme-noir .mock-sidebar { background: #0b1012; border-left: 1px solid var(--border); color: #44595b; }
body.theme-noir .mock-sidebar i:first-child { color: var(--primary); background: rgba(217, 255, 63, .1); }
body.theme-noir .mock-kpis span { background: #131b1e; border-color: var(--border); }
body.theme-noir .mock-kpis span::after { background: var(--secondary); opacity: .6; }
body.theme-noir .mock-chart { background: #0b1012; border-color: var(--border); }
body.theme-noir .mock-chart b { background: linear-gradient(180deg, var(--secondary), #2b8a92); }
body.theme-noir .mock-chart b:nth-child(6) { background: linear-gradient(180deg, var(--primary), #92c726); }
body.theme-noir .mock-products span { background: linear-gradient(90deg, #161e21 30%, #101719 30%); }
body.theme-noir .floating-card {
    background: rgba(16, 22, 25, .94);
    border-color: var(--border);
    color: var(--dark);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .5);
}
body.theme-noir .floating-download > i { background: rgba(105, 216, 223, .14); color: var(--secondary); }
body.theme-noir .floating-download strong { color: var(--dark); }
body.theme-noir .floating-download small { color: var(--gray); }
body.theme-noir .floating-rating > span { color: var(--primary); }
body.theme-noir .floating-rating i { color: var(--primary); }

/* ===== نوار اعتماد ===== */
body.theme-noir .trust-strip { margin-top: 0; padding-top: 4px; }
body.theme-noir .trust-grid {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius);
}
body.theme-noir .trust-item { border-left-color: var(--border); }
body.theme-noir .trust-item:last-child { border-left: 0; }
body.theme-noir .trust-item > div {
    background: rgba(105, 216, 223, .08);
    color: var(--secondary);
    border: 1px solid rgba(105, 216, 223, .18);
}
body.theme-noir .trust-item strong { color: var(--dark); }
body.theme-noir .trust-item small { color: var(--gray); }

/* ===== دسته‌بندی‌ها ===== */
body.theme-noir .category-card,
body.theme-noir .home-categories .category-card {
    background: var(--surface);
    border-color: var(--border);
}
body.theme-noir .category-card:hover {
    border-color: rgba(217, 255, 63, .45);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .4);
}
body.theme-noir .home-categories .category-icon {
    background: rgba(217, 255, 63, .08);
    color: var(--primary);
    border: 1px solid rgba(217, 255, 63, .18);
    box-shadow: none;
}
body.theme-noir .category-content h3 { color: var(--dark); }
body.theme-noir .category-content span { color: var(--gray); }
body.theme-noir .category-arrow { color: #44595b; }
body.theme-noir .category-card:hover .category-arrow { color: var(--primary); }

/* ===== کارت محصولات: پوستر سینمایی ===== */
body.theme-noir .product-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
body.theme-noir .product-card:hover {
    transform: translateY(-6px);
    border-color: rgba(217, 255, 63, .4);
    box-shadow: 0 26px 60px rgba(0, 0, 0, .5);
}
body.theme-noir .product-image {
    background: #0c1113;
    border-bottom-color: var(--border);
}
body.theme-noir .product-image img { transition: transform .5s ease; will-change: transform; }
body.theme-noir .product-card:hover .product-image img { transform: scale(1.04); }
body.theme-noir .product-overlay {
    background: linear-gradient(180deg, rgba(8, 11, 13, .25) 0%, rgba(8, 11, 13, .55) 45%, rgba(8, 11, 13, .94) 100%);
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    padding: 12px;
}
body.theme-noir .product-overlay-btn {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: rgba(16, 22, 25, .88);
    border: 1px solid rgba(240, 244, 237, .16);
    color: var(--dark);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
}
body.theme-noir .product-overlay-btn:hover {
    background: var(--primary);
    color: #080b0d;
    border-color: var(--primary);
    box-shadow: 0 8px 22px rgba(217, 255, 63, .28);
}
body.theme-noir .product-badge {
    border-radius: 6px;
    font-family: var(--noir-mono);
    letter-spacing: .04em;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
body.theme-noir .badge-sale { background: var(--secondary); color: #04161a; }
body.theme-noir .badge-featured { background: var(--primary); color: #0b0e05; }
body.theme-noir .product-info { border-top: 0; }
body.theme-noir .product-category {
    color: var(--gray);
    font-family: var(--noir-mono);
    font-size: .66rem;
    letter-spacing: .05em;
}
body.theme-noir .product-category i { color: var(--secondary); }
body.theme-noir .product-title { color: var(--dark); }
body.theme-noir .product-title:hover { color: var(--primary); }
body.theme-noir .product-meta { border-bottom-color: var(--border); color: var(--gray); }
body.theme-noir .product-meta i.fa-star { color: var(--primary); }
body.theme-noir .product-price .price-current { color: var(--primary); }
body.theme-noir .price-original { color: #54625f; }
body.theme-noir .product-footer > .btn-add-cart {
    background: rgba(217, 255, 63, .08);
    color: var(--primary);
    border: 1px solid rgba(217, 255, 63, .22);
    box-shadow: none;
}
body.theme-noir .product-footer > .btn-add-cart:hover { background: var(--primary); color: #080b0d; border-color: var(--primary); }
body.theme-noir .product-card .btn-wishlist.active { color: var(--primary); border-color: rgba(217, 255, 63, .5); }

/* ===== سکشن اعداد ===== */
body.theme-noir .numbers-card {
    background: radial-gradient(circle at 82% 12%, rgba(105, 216, 223, .14), transparent 24rem), var(--surface);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius);
}
body.theme-noir .numbers-copy h2 { color: var(--dark); }
body.theme-noir .numbers-copy p { color: var(--gray); }
body.theme-noir .number-item { background: #0d1316; border-color: var(--border); border-radius: var(--radius-sm); }
body.theme-noir .number-item strong { color: var(--primary); font-family: var(--noir-mono); }
body.theme-noir .number-item span { color: var(--gray); }

/* ===== پیش‌فوتر و فوتر ===== */
body.theme-noir .pre-footer-card {
    position: relative;
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--dark);
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius);
}
body.theme-noir .pre-footer-card::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 26%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(217, 255, 63, .5), transparent);
    transform: rotate(10deg);
}
body.theme-noir .pre-footer-icon { background: rgba(217, 255, 63, .1); color: var(--primary); }
body.theme-noir .pre-footer-card > div:nth-child(2) strong { color: var(--dark); }
body.theme-noir .pre-footer-card p { color: var(--gray); }
body.theme-noir .footer {
    background: radial-gradient(circle at 8% 0, rgba(105, 216, 223, .09), transparent 26rem), #060809;
    border-top: 1px solid var(--border);
}
body.theme-noir .footer-brand .logo-copy strong { color: var(--dark); }
body.theme-noir .footer-brand .logo-copy small { color: var(--gray); }
body.theme-noir .footer-brand p { color: var(--gray); }
body.theme-noir .footer-trust span { color: #6b7876; border-color: var(--border); background: rgba(240, 244, 237, .03); }
body.theme-noir .footer-trust i { color: var(--secondary); }
body.theme-noir .footer-title { color: var(--dark); }
body.theme-noir .footer-title::after { background: var(--primary); }
body.theme-noir .footer-links a { color: var(--gray); }
body.theme-noir .footer-links a:hover { color: var(--primary); }
body.theme-noir .footer-social a { border-color: var(--border); color: var(--gray); background: transparent; }
body.theme-noir .footer-social a:hover { background: var(--primary); color: #080b0d; border-color: var(--primary); }
body.theme-noir .footer-bottom { color: #5f6d6b; }
body.theme-noir .enamad-badge { opacity: .85; }

/* ===== فرم‌ها، جدول‌ها و صفحات داخلی ===== */
body.theme-noir .form-input,
body.theme-noir .form-textarea,
body.theme-noir .form-select,
body.theme-noir .filter-select {
    background: #0d1214;
    border-color: var(--border);
    color: var(--dark);
}
body.theme-noir .form-input::placeholder,
body.theme-noir .form-textarea::placeholder { color: #4d5a58; }
body.theme-noir .form-input:focus,
body.theme-noir .form-textarea:focus,
body.theme-noir .form-select:focus,
body.theme-noir .filter-select:focus {
    border-color: rgba(217, 255, 63, .5);
    box-shadow: 0 0 0 3px rgba(217, 255, 63, .1);
    outline: none;
}
body.theme-noir .form-label { color: var(--dark); }
body.theme-noir .card,
body.theme-noir .product-panel,
body.theme-noir .filter-bar,
body.theme-noir .filter-panel {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
    color: var(--dark);
}
body.theme-noir .card { border-radius: var(--radius); }
body.theme-noir .product-panel { border-radius: var(--radius); }
body.theme-noir .empty-state { background: var(--surface); border: 1px solid var(--border); color: var(--dark); }
body.theme-noir .empty-state i { color: #31403f; }
body.theme-noir .empty-state h3 { color: var(--dark); }
body.theme-noir .empty-state p { color: var(--gray); }
body.theme-noir .data-table th { color: var(--gray); border-bottom-color: var(--border); }
body.theme-noir .data-table td { border-bottom-color: #1c2426; color: var(--dark); }
body.theme-noir .data-table tr:hover td { background: #141b1e; }
body.theme-noir .pagination a,
body.theme-noir .pagination span { background: #0d1214; border-color: var(--border); color: var(--gray); }
body.theme-noir .pagination a:hover { border-color: rgba(217, 255, 63, .4); color: var(--primary); background: #141b1e; }
body.theme-noir .pagination span.active,
body.theme-noir .pagination a.active { background: var(--primary); color: #080b0d; border-color: var(--primary); }

/* ----- نمایش وضعیت و برچسب‌ها ----- */
body.theme-noir .status { border: 1px solid var(--border); border-radius: 6px; font-family: var(--noir-mono); font-size: .7rem; }
body.theme-noir .status-pending { background: #221c0e; color: #e8c37a; border-color: #4a3d1c; }
body.theme-noir .status-paid,
body.theme-noir .status-completed,
body.theme-noir .status-success { background: #0e2a26; color: #7fe1dc; border-color: #1d4540; }
body.theme-noir .status-inactive,
body.theme-noir .status-danger { background: #2a1214; color: #ff9aa2; border-color: #54262a; }
body.theme-noir .status-warning { background: #221c0e; color: #e8c37a; border-color: #4a3d1c; }
body.theme-noir .status-info { background: #0e2430; color: #7fd6e2; border-color: #1c4050; }

/* ----- پیام‌های-flash و toast ----- */
body.theme-noir .flash {
    background: #101719;
    border: 1px solid var(--border);
    border-right: 3px solid var(--secondary);
    color: var(--dark);
    border-radius: var(--radius-sm);
}
body.theme-noir .flash-danger { border-right-color: var(--danger); }
body.theme-noir .flash-warning { border-right-color: #e8c37a; }
body.theme-noir .flash-success { border-right-color: var(--primary); }
body.theme-noir .toast {
    background: #101719;
    border: 1px solid var(--border);
    color: var(--dark);
    box-shadow: var(--shadow-xl);
}
body.theme-noir .toast i { color: var(--primary); }
body.theme-noir .toast-error i { color: var(--danger); }
body.theme-noir .toast-warning i { color: #e8c37a; }
body.theme-noir .toast-info i { color: var(--secondary); }

/* ----- صفحات احراز هویت ----- */
body.theme-noir .auth-page {
    background:
        radial-gradient(circle at 18% 18%, rgba(105, 216, 223, .09), transparent 26rem),
        radial-gradient(circle at 82% 82%, rgba(217, 255, 63, .05), transparent 24rem),
        var(--surface-soft);
}
body.theme-noir .auth-card { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-xl); color: var(--dark); }
body.theme-noir .auth-header .logo-icon { box-shadow: none; }

/* ----- لینک‌های دمو روی کارت محصول ----- */
body.theme-noir .card-demo-link { background: rgba(217, 255, 63, .07); border-color: rgba(217, 255, 63, .22); color: var(--primary); }
body.theme-noir .card-demo-link:hover { background: var(--primary); color: #080b0d; }
body.theme-noir .demo-direct-link { color: var(--primary); }
body.theme-noir .demo-direct-link:hover { color: var(--primary-light); }
body.theme-noir .btn-demo-live { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #080b0d; }
body.theme-noir .demo-overlay-btn { background: var(--primary); color: #080b0d; }

/* ----- کپچا و سایر ----- */
body.theme-noir .captcha-image,
body.theme-noir img { background: #0d1214; }
body.theme-noir .prose { color: var(--gray); }
body.theme-noir .prose h2,
body.theme-noir .prose h3 { color: var(--dark); }
body.theme-noir .prose li::marker { color: var(--primary); }
body.theme-noir :focus-visible { outline: 2px solid rgba(217, 255, 63, .5); outline-offset: 3px; }

/* =========================================================
   سکشن فرمان — رابط کشف محصول آینده‌نگرانه
   (بدون متن قابل‌خواندن؛ فقط شکل، نشانگر و خطوط انتزاعی)
   ========================================================= */
body.theme-noir .cmd-section { padding: 30px 0 6px; position: relative; z-index: 8; }
body.theme-noir .cmd-wrap { position: relative; max-width: 880px; margin: 0 auto; }
body.theme-noir .cmd-bracket {
    position: absolute;
    top: 50%;
    transform: translateY(-58%);
    font-family: var(--noir-mono);
    color: rgba(105, 216, 223, .45);
    font-size: 1.7rem;
    font-weight: 700;
    user-select: none;
}
body.theme-noir .cmd-bracket-l { right: -36px; }
body.theme-noir .cmd-bracket-r { left: -36px; }
body.theme-noir .cmd-field {
    display: flex;
    align-items: center;
    gap: 13px;
    background: #0d1214;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 7px 9px 7px 13px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .4);
    transition: border-color .25s ease, box-shadow .25s ease;
}
body.theme-noir .cmd-field:focus-within {
    border-color: rgba(217, 255, 63, .55);
    box-shadow: 0 0 0 4px rgba(217, 255, 63, .08), 0 20px 50px rgba(0, 0, 0, .4);
}
body.theme-noir .cmd-field > .fa-search { color: var(--primary); font-size: 1.05rem; flex: none; }
body.theme-noir .cmd-field input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    color: var(--dark);
    font-size: 1rem;
    height: 46px;
}
body.theme-noir .cmd-field input::placeholder { color: #4a5755; }
body.theme-noir .cmd-cursor {
    width: 2px;
    height: 26px;
    background: var(--primary);
    animation: noirBlink 1.1s steps(2, start) infinite;
    flex: none;
}
@keyframes noirBlink { 50% { opacity: 0; } }
body.theme-noir .cmd-lines { display: flex; gap: 5px; flex: none; align-items: center; }
body.theme-noir .cmd-lines i { display: block; height: 3px; border-radius: 2px; background: #2b383b; }
body.theme-noir .cmd-lines i:nth-child(1) { width: 36px; }
body.theme-noir .cmd-lines i:nth-child(2) { width: 18px; }
body.theme-noir .cmd-lines i:nth-child(3) { width: 26px; }
body.theme-noir .cmd-field button {
    width: 44px;
    height: 44px;
    flex: none;
    border-radius: 10px;
    background: rgba(217, 255, 63, .1);
    color: var(--primary);
    border: 1px solid rgba(217, 255, 63, .22);
    transition: background .2s ease, color .2s ease;
}
body.theme-noir .cmd-field button:hover { background: var(--primary); color: #080b0d; }
body.theme-noir .cmd-tags { display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 13px; }
body.theme-noir .cmd-tags span { height: 4px; border-radius: 3px; background: #232f31; }
body.theme-noir .cmd-tags span:nth-child(1) { width: 52px; }
body.theme-noir .cmd-tags span:nth-child(3) { width: 74px; }
body.theme-noir .cmd-tags span:nth-child(5) { width: 30px; }
body.theme-noir .cmd-tags .dot { width: 4px; height: 4px; border-radius: 50%; background: rgba(105, 216, 223, .4); }

/* =========================================================
   نوار اطلاعات فنی — جداکننده، نقطه، نشانگر عددی، خط پیشرفت
   ========================================================= */
body.theme-noir .tech-strip { position: relative; margin: 22px 0 0; padding: 18px 0 30px; }
body.theme-noir .tech-strip-inner {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 16px 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
body.theme-noir .tech-cell {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 6px 26px;
    border-left: 1px solid var(--border);
    flex: 1 1 auto;
}
body.theme-noir .tech-cell:first-child { padding-right: 0; }
body.theme-noir .tech-cell:last-child { border-left: none; padding-left: 0; }
body.theme-noir .tech-idx {
    font-family: var(--noir-mono);
    font-size: .78rem;
    color: var(--primary);
    letter-spacing: .12em;
    flex: none;
}
body.theme-noir .tech-bars { flex: 1; display: flex; flex-direction: column; gap: 5px; min-width: 84px; }
body.theme-noir .tech-bars i { display: block; height: 4px; border-radius: 2px; background: #232f31; position: relative; overflow: hidden; }
body.theme-noir .tech-bars i::after { content: ''; position: absolute; inset-block: 0; right: 0; background: rgba(105, 216, 223, .55); }
body.theme-noir .tech-bars i:nth-child(1)::after { width: 72%; }
body.theme-noir .tech-bars i:nth-child(2)::after { width: 44%; background: rgba(217, 255, 63, .5); }
body.theme-noir .tech-bars i:nth-child(3)::after { width: 58%; }
body.theme-noir .tech-dots { display: flex; gap: 5px; flex: none; align-items: center; }
body.theme-noir .tech-dots i { width: 6px; height: 6px; border-radius: 50%; background: #2b383b; }
body.theme-noir .tech-dots i:first-child { background: var(--primary); }
body.theme-noir .tech-dots i:nth-child(2) { background: rgba(105, 216, 223, .6); }
body.theme-noir .tech-label { width: 74px; height: 12px; border-radius: 3px; background: #1c2628; flex: none; }

/* =========================================================
   انیمیشن ظاهرشدن (فقط وقتی جاوااسکریپت فعال است)
   ========================================================= */
body.noir-js .cmd-wrap,
body.noir-js .tech-strip-inner { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s cubic-bezier(.4, 0, .2, 1); }
body.noir-js .cmd-wrap.in,
body.noir-js .tech-strip-inner.in { opacity: 1; transform: none; }

/* =========================================================
   رفتار واکنش‌گرا
   ========================================================= */
@media (max-width: 980px) {
    body.theme-noir .nav {
        background: #0d1214;
        border: 1px solid var(--border);
        box-shadow: var(--shadow-xl);
    }
    body.theme-noir .menu-toggle { background: #0d1214; border-color: var(--border); color: var(--dark); }
    body.theme-noir .menu-toggle:hover { border-color: rgba(217, 255, 63, .4); color: var(--primary); }
}
@media (max-width: 860px) {
    body.theme-noir .cmd-bracket { display: none; }
    body.theme-noir .tech-cell { border-left: none; border-bottom: 1px solid var(--border); width: 100%; padding: 12px 0; }
    body.theme-noir .tech-cell:last-child { border-bottom: none; }
    body.theme-noir .cmd-lines { display: none; }
}
@media (max-width: 520px) {
    body.theme-noir .cmd-field { gap: 9px; padding: 6px 7px 6px 11px; }
    body.theme-noir .cmd-field input { height: 42px; font-size: .92rem; }
    body.theme-noir .cmd-field button { width: 40px; height: 40px; }
    body.theme-noir .hero-dashboard-card::after { display: none; }

    /* صفحه‌های لمسی: دکمه‌های overlay کوچک‌تر و در دسترس */
    body.theme-noir .product-card .product-overlay-btn { width: 40px; height: 40px; border-radius: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    body.theme-noir::before { animation: none; }
    body.noir-js .cmd-wrap,
    body.noir-js .tech-strip-inner { opacity: 1 !important; transform: none !important; }
}
