﻿/* ==========================================================================
   site.css  -  استایل اختصاصی سایت (Bootstrap 5.3 RTL)
   ترتیب بارگذاری: bootstrap.rtl.min.css  ->  کتابخانه‌ها  ->  site.css
   ========================================================================== */

@font-face {
    font-family: yekan;
    src: url('/fonts/yekan.woff') format('woff'), url('/fonts/yekan.ttf') format('truetype');
    font-display: swap;
}

/* ---------- توکن‌های طراحی ---------- */
:root {
    --site-primary: #9849bd;
    --site-primary-dark: #7b3a99;
    --site-header-bg: #d8c8fb;
    --site-footer-bg: #b18eb1;
    --site-footer-link-hover: #fff000;
    --site-copy-bg: #484462;
    --site-page-bg: #f0f2f8;
    --site-nav-bg: rgba(152, 73, 189, .92);
    --site-nav-bg-mobile: rgba(96, 118, 142, .96);
    --site-radius: .75rem;
    --site-shadow: 0 .5rem 1.5rem rgba(40, 30, 80, .10);

    --bs-body-font-family: Tahoma, "Segoe UI", system-ui, -apple-system, sans-serif;
    --bs-body-bg: var(--site-page-bg);
    --bs-link-color-rgb: 18, 92, 195;
    --bs-link-hover-color-rgb: 0, 33, 101;
}

/* ---------- پایه ---------- */
body { background-color: var(--site-page-bg); }
a { text-decoration: none; }
a:hover { text-decoration: none; }
a img { border-width: 0; }

h1, h2, h3, h4, h5 { font-family: yekan, Tahoma, sans-serif; }
h1 { margin: 0; font-weight: bold; font-size: xx-large; }
h2 { color: #666; margin: 0; font-weight: bold; font-size: x-large; }
h3 { margin: 0; font-weight: normal; }
h4 { color: #555; margin: 2px 0 0; margin-inline-start: 5px; }
h5 { margin: 2px 0 0; margin-inline-start: 4px; }

:focus-visible { outline: 2px solid rgba(152, 73, 189, .55); outline-offset: 2px; }

/* ---------- قالب کلی صفحه ---------- */
.site-shell {
    margin-block: .75rem;
    padding: 0;
    border-radius: var(--site-radius);
    box-shadow: var(--site-shadow);
    overflow: hidden;
    background: #fff;
}

.mainheader { background-color: var(--site-header-bg); }
.mainheader h1 { font-size: x-large; }
.site-date { font-size: .85rem; color: #4a3a6b; white-space: nowrap; }
.site-date .badge { font-weight: normal; }

.maincontent { background-color: #fff; margin: 0; padding-block: .5rem; min-height: 40vh; }

/* ---------- نوار ناوبری ---------- */
.site-nav {
    --bs-navbar-padding-y: .25rem;
    --bs-navbar-color: #fff;
    --bs-navbar-hover-color: #fff;
    --bs-navbar-active-color: #cdffff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, .35);
    background: var(--site-nav-bg);
    border: 0;
    border-radius: 0;
    margin: 0;
    backdrop-filter: blur(4px);
}
.site-nav .navbar-nav .nav-link { color: #fff; transition: color .2s, background-color .2s; border-radius: .4rem; }
.site-nav .navbar-nav .nav-link:hover,
.site-nav .navbar-nav .nav-link:focus { color: #fff; background: rgba(255, 255, 255, .12); }
.site-nav .navbar-nav .nav-link.active { color: #cdffff; background: none; }
.site-nav .navbar-nav .nav-link.show { color: #f0f6a4; background: none; }
.site-nav .navbar-brand { font-size: 24px; margin-inline-end: 1rem; }
.site-nav .navbar-brand img { margin-top: -4px; }
.site-nav *:focus { outline: 0; }
.site-nav .btn { border: 1px solid rgba(255, 255, 255, .25); }
.site-nav .btn:hover { border-color: rgba(255, 255, 255, .6); }

.site-nav .dropdown-menu {
    --bs-dropdown-min-width: 250px;
    --bs-dropdown-bg: rgba(80, 101, 117, .96);
    --bs-dropdown-color: #fff;
    --bs-dropdown-link-color: #fff;
    --bs-dropdown-link-hover-color: #f0f6a4;
    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, .12);
    --bs-dropdown-link-active-color: #f0f6a4;
    --bs-dropdown-link-active-bg: rgba(255, 255, 255, .12);
    --bs-dropdown-border-width: 0;
    --bs-dropdown-border-radius: .6rem;
    --bs-dropdown-item-padding-x: 1.25rem;
    --bs-dropdown-item-padding-y: .45rem;
    font-size: medium;
    box-shadow: 0 .4rem .9rem rgba(0, 0, 0, .18);
}

@media (max-width: 767.98px) {
    .site-nav { background: var(--site-nav-bg-mobile); }
    .site-nav .navbar-collapse .navbar-nav { padding-bottom: .5rem; }
    .site-nav .navbar-collapse .btn { min-width: 40%; }
}

/* ---------- فوتر ---------- */
.mainfooter {
    background: var(--site-footer-bg);
    color: #fff;
    padding: 1rem 1rem 1.5rem;
}
.mainfooter h3 {
    color: #cdffff;
    font-size: 1.3em;
    border-bottom: 1px solid rgba(0, 0, 0, .25);
    margin: 0;
    padding: 0 0 .25rem;
}
.mainfooter a { color: #fff; transition: color .25s linear; }
.mainfooter a:hover { color: var(--site-footer-link-hover); }
.mainfooter ul { list-style: none; padding: 0; margin: 0; }
.footer-navigate-section li { padding: 0; margin: 0; }
.footer-navigate-section li a { display: block; padding: 3px; }
.footer-navigate-section li a i {
    display: inline-block;
    vertical-align: middle;
    width: 1.4em;
    color: transparent;
    transition: color .6s;
}
.footer-navigate-section li a:hover i { color: #fff; }

.mainfooter-copyright {
    text-align: center;
    color: #d2d2d2;
    border-top: 1px dotted #7c7c7c;
    font-size: .9em;
    padding: 20px 0;
    background-color: var(--site-copy-bg);
}

/* ---------- نوار ابزار مدیریت ---------- */
.manager-bar {
    background: #eef3fb;
    border: 1px solid #d5e0f2;
    border-radius: var(--site-radius);
}
.manager-bar .btn { white-space: nowrap; }

/* ---------- Select2 (تکمیل تم bootstrap-5) ---------- */
.select2-dropdown { font-size: .9rem; }
.select2-container--bootstrap-5 .select2-selection { font-size: .9rem; }

/* ---------- جدول‌ها / گرید ---------- */
.gridContent { overflow-x: auto; }
.mobileTrueView { overflow-x: auto; }
.gvrow { background-color: #fff; color: #000; }
.gvrow:hover { background-color: #b5dcf3; color: #002165; }
.gvrowa { background-color: #dcf5ff; color: #000; }
.gvrowa:hover { background-color: #90c4e2; color: #002165; }
.gvrows { background-color: #90c4e2; color: #000; }
.gvpager { height: 25px; background-color: #acc0ca; text-align: center !important; }
.gvpager span, .gvpager a { padding: 3px; margin: 2px; border-radius: 4px; }
.gvpager span { background-color: #1272c3; display: inline-block; color: #fff; }
.gvpager a { background-color: #c8d8e2; display: inline-block; color: #125cc3; }

/* ---------- لودینگ Ajax ---------- */
.divajax {
    position: absolute; text-align: center; z-index: 10000; width: 100%;
    padding: 12px 0; background-color: rgba(255, 255, 255, .5); border-radius: 6px;
}
.divajax100 {
    position: absolute; top: 0; inset-inline-start: 0; z-index: 10000; height: 100%;
    text-align: center; width: 100%; padding: 100px 0; background-color: rgba(255, 255, 255, .5); border-radius: 6px;
}

/* ---------- کلاس‌های کمکی قدیمی (سازگاری با صفحه‌های موجود) ---------- */
.p0 { padding: 0; }
.p2 { padding: 2px; }
.p3 { padding: 3px; }
.p5 { padding: 5px; }
.p10 { padding: 10px; }
.p83 { padding: 8px 3px 3px 3px; }
.prl3 { padding-right: 3px; padding-left: 3px; }

.cblue { color: #001dff; }
.cred { color: #f00; }
.cgray { color: #777; }
.clgray { color: #9d9d9d; }
.cdgray { color: #3b3b3b; }
.cgreen { color: #2e9000; }
.cwhite { color: #fff; }

.fontlarge { font-size: large; }
.fontlarger { font-size: larger !important; }
.fontmedium { font-size: medium; }
.fontsmall { font-size: small; }
.fontsmaller { font-size: smaller; }

.dirLTR { direction: ltr; }
.dNotify { display: inline-block; vertical-align: middle; }
.menubox2 { padding: 3px 0; }
.menubox2 a { width: 100%; text-align: start; transition: all .4s; }
.menubox2 a span { margin-inline-start: 5px; }
.menuPanelBody { padding: 8px !important; }
@media (max-width: 767.98px) {
    .menuPanelBody { padding: 3px !important; }
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; }
}

/* ==========================================================================
   صفحه‌های مدیریت (Manager)
   ========================================================================== */

/* کارت منو در داشبورد */
.menu-card { border-radius: var(--site-radius); overflow: hidden; border-color: #d9dfec; }
.menu-card > .card-header { font-weight: bold; background: #f4f6fb; border-bottom-color: #e3e8f3; }
.menu-card .list-group-item { padding: .5rem .85rem; }
.menu-card .list-group-item-action { color: #263c68; }
.menu-card .list-group-item-action:hover { color: #7b3a99; background: #f8f4fb; }

/* GridView با کلاس .gv (جایگزین استایل قدیمی gvrow/gvrowa) */
.gv { --bs-table-bg: #fff; margin-bottom: 0; font-size: .9rem; }
.gv .gvhead > th, .gv th { background: #2f3e75; color: #fff; font-weight: bold; white-space: nowrap; border: 0; }
.gv .gvhead a, .gv th a { color: #fff; }
.gv .gvhead a:hover, .gv th a:hover { color: #ffe27a; }
.gv .gvpager > td { background: #e9eef4; padding: .5rem; text-align: center; }
.gv .gvpager table { margin: 0 auto; width: auto; }
.gv .gvpager table td { padding: 0 !important; border: 0; background: transparent; }
.gv .gvpager a, .gv .gvpager span {
    display: inline-block; min-width: 2rem; padding: .2rem .5rem; margin: 0 2px;
    border-radius: .4rem; text-align: center;
}
.gv .gvpager span { background: var(--site-primary); color: #fff; }
.gv .gvpager a { background: #fff; border: 1px solid #c8d8e2; color: #125cc3; }
.gv .gvpager a:hover { background: #eef4ff; }

/* فیلترهای RadioButtonList به‌شکل دکمه‌های گرد (RepeatLayout=Flow) */
.filter-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.filter-pills > span { display: inline-block; }
.filter-pills input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.filter-pills label {
    display: inline-flex; align-items: center; gap: .35rem; margin: 0;
    padding: .25rem .8rem; border: 1px solid #b6c6dc; border-radius: 50rem;
    background: #fff; cursor: pointer; font-size: .9rem; white-space: nowrap; transition: all .15s;
}
.filter-pills label:hover { border-color: var(--site-primary); }
.filter-pills input[type=radio]:checked + label { background: var(--site-primary); border-color: var(--site-primary); color: #fff; }
.filter-pills input[type=radio]:checked + label i { color: #fff !important; }
.filter-pills input[type=radio]:focus-visible + label { outline: 2px solid rgba(152, 73, 189, .55); outline-offset: 2px; }

/* نمودار (asp:Chart) با عرض/ارتفاع ثابت پیکسلی: روی صفحه‌ی کوچک با حفظ نسبت کوچک می‌شود */
.chart-wrap { overflow-x: auto; text-align: center; }
.chart-wrap img { max-width: 100%; width: 100% !important; height: auto !important; }

/* متن پیام تماس: حفظ خط جدید و شکستن متن‌های طولانی */
.contact-msg { white-space: pre-wrap; word-break: break-word; max-height: 22rem; overflow-y: auto; }
