/* ===== Base RTL & Fonts ===== */
@import url("../vendor/vazirmatn/vazirmatn.4f287f6df49c.css");   /* محلی، نه Google Fonts */

:root {
    --bs-font-sans-serif: 'Vazirmatn', system-ui, sans-serif;
    --sidebar-width: 240px;
    --primary: #0d6efd;
    --success: #198754;
    --warning: #ffc107;
    --danger: #dc3545;
}

body {
    font-family: 'Vazirmatn', sans-serif;
    background-color: #f5f7fa;
    color: #212529;
}

/* ===== Navbar ===== */
.navbar-brand { font-size: 1.1rem; }
.navbar .nav-link { font-size: 0.9rem; }

/* ===== Sidebar Dashboard ===== */
#sidebar { min-height: calc(100vh - 56px); }
#sidebar .nav-link {
    padding: 0.55rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    transition: background 0.15s;
}
#sidebar .nav-link:hover { background: rgba(13,110,253,.08); }
#sidebar .nav-link.active { background: var(--primary); color: #fff !important; }

/* ===== Cards ===== */
.card { border-radius: 0.75rem; }
.card-header { border-radius: 0.75rem 0.75rem 0 0 !important; border-bottom: 1px solid #e9ecef; }

/* ===== Product Cards ===== */
.product-card { transition: transform 0.2s, box-shadow 0.2s; border-radius: 0.75rem !important; overflow: hidden; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }
.product-card .card-img-top { transition: transform 0.3s; }
.product-card:hover .card-img-top { transform: scale(1.03); }

/* ===== Workflow Steps ===== */
.step-item { position: relative; }
.step-item:not(:last-child)::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 32px;
    width: 2px;
    height: calc(100% - 8px);
    background: #dee2e6;
}
.step-indicator { position: relative; z-index: 1; }

/* ===== Status Badges ===== */
.badge { font-weight: 500; }

/* ===== Forms ===== */
.form-control:focus, .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(13,110,253,.15);
}

/* ===== Tables ===== */
.table th { font-weight: 600; font-size: 0.85rem; color: #6c757d; }
.table-hover tbody tr:hover { background-color: rgba(13,110,253,.04); }

/* ===== Cursor ===== */
.cursor-pointer { cursor: pointer; }

/* ===== Thumb Images in Product Detail ===== */
.thumb-img { transition: border-color 0.2s; border: 2px solid transparent !important; }
.thumb-img:hover { border-color: var(--primary) !important; }

/* ===== Wallet Balance ===== */
.wallet-balance-positive { color: var(--success); }
.wallet-balance-negative { color: var(--danger); }

/* ===== Agency Request Steps ===== */
.step-circle { font-size: 0.8rem; font-weight: 700; }

/* ===== Exam ===== */
.exam-option label {
    cursor: pointer;
    border-radius: 0.5rem;
    border: 2px solid #dee2e6;
    padding: 0.75rem 1rem;
    transition: border-color 0.15s, background 0.15s;
    display: block;
}
.exam-option input[type=radio]:checked + label {
    border-color: var(--primary);
    background: rgba(13,110,253,.06);
}

/* ===== Rating Stars ===== */
.star-rating input { display: none; }
.star-rating label {
    font-size: 2rem;
    color: #dee2e6;
    cursor: pointer;
    transition: color 0.1s;
}
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: var(--warning);
}

/* ===== Toast Notification ===== */
.toast { z-index: 9999; }

/* ===== Sticky sidebar on desktop ===== */
@media (min-width: 768px) {
    .sticky-sidebar { position: sticky; top: 70px; }
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #a8a8a8; }

/* ===== Print ===== */
@media print {
    #sidebar, .navbar, footer, .btn, .no-print { display: none !important; }
    .col-lg-10 { width: 100% !important; }
}
