:root {
    --ink-950: #3e4d6e;
    --ink-900: #3e4d6e;
    --ink-800: #3e4d6e;
    --ink-700: #3e4d6e;
    --ink-600: #526080;
    --ink-500: #526080;
    --ink-300: #b5c5cc;
    --ink-200: #d7e1e5;
    --ink-100: #eaf0f2;
    --ink-50: #f5f8f9;
    --teal-700: #3e4d6e;
    --teal-600: #526080;
    --teal-100: #eaf0f2;
    --teal-50: #f5f8f9;
    --amber-600: #d45500;
    --amber-100: #eaf0f2;
    --amber-50: #f5f8f9;
    --red-600: #d45500;
    --red-100: #eaf0f2;
    --green-600: #3e4d6e;
    --green-100: #dff1e8;
    --surface: #fff;
    --canvas: #f4f7f8;
    --line: #dfe8eb;
    --shadow-xs: 0 1px 2px rgba(62,77,110, .04);
    --shadow-sm: 0 8px 24px rgba(62,77,110, .07);
    --shadow-lg: 0 22px 64px rgba(62,77,110, .13);
    --radius-sm: .65rem;
    --radius-md: 1rem;
    --radius-lg: 1.4rem;
    --radius-xl: 2rem;
    --font: "Vazirmatn", Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body, button, input, select, textarea { font-family: var(--font) !important; }
body { margin: 0; color: var(--ink-950); background: var(--canvas); line-height: 1.85; font-size: .94rem; -webkit-font-smoothing: antialiased; }
a { color: var(--teal-700); text-underline-offset: 3px; }
a:hover { color: var(--ink-950); }
h1, h2, h3, h4, h5, h6 { color: var(--ink-950); font-weight: 800; line-height: 1.45; letter-spacing: -.015em; }
p { color: var(--ink-300); }
img { max-width: 100%; }
.skip-link { position: fixed; inset: .5rem auto auto .5rem; transform: translateY(-160%); z-index: 3000; padding: .7rem 1rem; border-radius: .5rem; color: #fff; background: var(--ink-950); }
.skip-link:focus { transform: none; }
.site-main { min-height: 60vh; padding: clamp(1.25rem, 3vw, 3rem) 0 clamp(3rem, 7vw, 6rem); }
.public-area .site-main { overflow: hidden; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 1030; background: rgba(255,255,255,.95); box-shadow: 0 1px 0 var(--line); backdrop-filter: blur(16px); }
.site-topline { padding: .38rem 0; color: #dcebef; background: var(--ink-950); font-size: .74rem; }
.site-navbar { min-height: 76px; display: flex; align-items: center; }
.site-navbar-inner, .site-navbar-actions, .site-brand, .account-menu-button { display: flex; align-items: center; }
.site-navbar-inner { justify-content: space-between; gap: 1.5rem; }
.site-brand { gap: .7rem; color: var(--ink-950); text-decoration: none; flex: 0 0 auto; }
.site-brand:hover { color: var(--ink-950); }
.site-brand-logo-wrap { width: 48px; height: 48px; display: grid; place-items: center; padding: .28rem; border-radius: 15px; background: linear-gradient(145deg, var(--teal-50), #fff); border: 1px solid #dfe8eb; }
.site-brand-logo { width: 100%; height: 100%; object-fit: contain; }
.site-brand-content { display: grid; line-height: 1.25; }
.site-brand-content strong { font-size: 1.05rem; font-weight: 900; }
.site-brand-content small { margin-top: .25rem; color: var(--ink-500); font-size: .7rem; }
.site-nav-desktop { display: flex; align-items: center; gap: .03rem; margin-inline: auto; }
.site-nav-link { position:relative; padding:.58rem .58rem; border-radius:.7rem; color:var(--ink-700); text-decoration:none; font-weight:650; font-size:.74rem; white-space:nowrap; }
.site-nav-link:hover, .site-nav-link.active { color: var(--ink-950); background: var(--ink-50); }
.site-nav-link.active::after { content: ""; position: absolute; right: .85rem; left: .85rem; bottom: .27rem; height: 2px; border-radius: 2px; background: var(--teal-600); }
.site-navbar-actions { justify-content: flex-end; gap: .55rem; }
.nav-icon-button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: .8rem; color: var(--ink-800); background: #fff; font-size: 1.15rem; text-decoration: none; }
.nav-icon-button:hover { color: var(--teal-700); border-color: #dfe8eb; background: var(--teal-50); }
.account-menu-button { gap: .6rem; min-width: 180px; padding: .35rem .4rem .35rem .7rem; border: 1px solid var(--line); border-radius: .9rem; background: #fff; text-align: right; }
.account-menu-button .bi-chevron-down { margin-right: auto; color: var(--ink-500); font-size: .75rem; }
.avatar-sm { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: .72rem; color: #fff; background: linear-gradient(145deg, var(--ink-800), var(--teal-600)); font-weight: 800; }
.avatar-sm img { width: 100%; height: 100%; object-fit: cover; }
.account-menu-text { display: grid; min-width: 0; line-height: 1.35; }
.account-menu-text small { color: var(--ink-500); font-size: .65rem; }
.account-menu-text strong { max-width: 98px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.account-dropdown { min-width: 220px; margin-top: .5rem !important; padding: .5rem; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow-lg); }
.account-dropdown .dropdown-item { padding: .65rem .7rem; border-radius: .6rem; font-size: .84rem; }
.site-mobile-toggle { display: none; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line); border-radius: .8rem; color: var(--ink-950); background: #fff; font-size: 1.35rem; }
.site-mobile-menu { width: min(88vw, 360px) !important; border: 0 !important; }
.site-mobile-brand, .mobile-user-card { display: flex; align-items: center; gap: .75rem; }
.site-mobile-brand div, .mobile-user-card div { display: grid; line-height: 1.4; }
.site-mobile-brand small, .mobile-user-card small { color: var(--ink-500); font-size: .72rem; }
.mobile-user-card { margin: .5rem 0 1rem; padding: 1rem; border-radius: 1rem; background: var(--ink-50); }
.mobile-nav { display: grid; gap: .25rem; }
.mobile-nav a, .mobile-logout { width: 100%; display: flex; align-items: center; gap: .75rem; padding: .75rem .8rem; border: 0; border-radius: .7rem; color: var(--ink-800); background: transparent; text-decoration: none; text-align: right; }
.mobile-nav a:hover { background: var(--teal-50); color: var(--teal-700); }
.mobile-nav i { width: 1.25rem; font-size: 1.05rem; }
.mobile-logout { color: var(--red-600); background: #f5f8f9; }

/* Footer */
.site-footer { padding: 4rem 0 1.5rem; color: #d8e5e9; background: var(--ink-950); }
.footer-grid { display: grid; grid-template-columns: 1.65fr repeat(3, 1fr); gap: clamp(2rem, 5vw, 5rem); }
.site-footer h2 { margin-bottom: 1rem; color: #fff; font-size: .92rem; }
.site-footer p { margin-bottom: .6rem; color: #aac0c9; font-size: .82rem; }
.site-footer a:not(.site-brand) { display: block; margin: .55rem 0; color: #c3d4da; font-size: .82rem; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.footer-brand { color: #fff; margin-bottom: 1rem; }
.footer-brand .site-brand-content strong { color: #fff; }
.footer-brand .site-brand-content small { color: #aac0c9; }
.footer-brand-column p { max-width: 390px; }
.footer-trust i { color: #526080; font-size: 1rem; margin-left: .35rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.1); color: #8eabb6; font-size: .75rem; }

/* Components */
.btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .58rem 1rem; border-radius: .75rem; font-size: .84rem; font-weight: 750; box-shadow: none !important; }
.btn-primary { --bs-btn-bg: var(--teal-700); --bs-btn-border-color: var(--teal-700); --bs-btn-hover-bg: #526080; --bs-btn-hover-border-color: #526080; }
.btn-success { --bs-btn-bg: var(--green-600); --bs-btn-border-color: var(--green-600); }
.btn-danger { --bs-btn-bg: var(--red-600); --bs-btn-border-color: var(--red-600); }
.btn-outline-primary { --bs-btn-color: var(--teal-700); --bs-btn-border-color: #526080; --bs-btn-hover-bg: var(--teal-700); --bs-btn-hover-border-color: var(--teal-700); }
.btn-soft { color: var(--teal-700); background: var(--teal-50); border: 1px solid #dfe8eb; }
.btn-soft:hover { color: #fff; background: var(--teal-700); }
.btn-ghost { color: var(--ink-800); background: transparent; border: 1px solid var(--line); }
.btn-ghost:hover { background: var(--ink-50); border-color: var(--ink-300); }
.btn-icon { width: 40px; height: 40px; padding: 0; }
.card, .surface-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-xs); }
.card { overflow: hidden; }
.card-header { padding: 1rem 1.2rem; color: var(--ink-950); background: #fff; border-bottom: 1px solid var(--line); font-weight: 800; }
.card-body { padding: 1.2rem; }
.form-label, label:not(.form-check-label) { color: var(--ink-800); font-size: .81rem; font-weight: 750; }
.form-control, .form-select { min-height: 46px; padding: .62rem .8rem; color: var(--ink-950); background-color: #fff; border: 1px solid #cfdde2; border-radius: .75rem; font-size: .87rem; }
textarea.form-control { min-height: 120px; }
.form-control:focus, .form-select:focus { border-color: var(--teal-600); box-shadow: 0 0 0 .22rem rgba(82,96,128,.12); }
.form-control::placeholder { color: #96a9b2; }
.form-text { color: var(--ink-500); font-size: .73rem; }
.form-check-input:checked { background-color: var(--teal-700); border-color: var(--teal-700); }
.input-group > .form-control, .input-group > .form-select { min-height: 46px; }
.table-responsive { border-radius: var(--radius-md); }
.table { margin: 0; color: var(--ink-900); font-size: .83rem; --bs-table-bg: transparent; }
.table > :not(caption) > * > * { padding: .85rem .9rem; border-bottom-color: #e9eff1; vertical-align: middle; }
.table thead th { color: var(--ink-600); background: var(--ink-50); border-bottom-color: var(--line); font-size: .73rem; font-weight: 800; white-space: nowrap; }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: var(--teal-50); }
.badge { padding: .45em .65em; border-radius: .55rem; font-weight: 750; }
.pagination { gap: .3rem; }
.page-link { min-width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border-color: var(--line); border-radius: .65rem !important; color: var(--ink-700); }
.active > .page-link, .page-link.active { background: var(--teal-700); border-color: var(--teal-700); }
.dropdown-menu { border: 1px solid var(--line); border-radius: .9rem; box-shadow: var(--shadow-lg); }
.modal-content { border: 0; border-radius: 1.25rem; box-shadow: var(--shadow-lg); }
.modal-header, .modal-footer { border-color: var(--line); }
.alert { display: flex; align-items: center; gap: .7rem; margin: 0; border: 1px solid transparent; border-radius: .85rem; box-shadow: var(--shadow-sm); }
.alert .btn-close { margin-right: auto; }
.alert-success { color: #3e4d6e; background: #f5f8f9; border-color: #dfe8eb; }
.alert-danger { color: #d45500; background: #f5f8f9; border-color: #dfe8eb; }
.alert-warning { color: #d45500; background: #f5f8f9; border-color: #dfe8eb; }
.alert-info { color: #3e4d6e; background: #f5f8f9; border-color: #dfe8eb; }
.flash-stack { position: fixed; top: 100px; left: 1rem; z-index: 2050; width: min(420px, calc(100vw - 2rem)); display: grid; gap: .6rem; }
.flash-stack-admin { top: 1rem; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.page-heading h1 { margin: 0 0 .3rem; font-size: clamp(1.35rem, 3vw, 2rem); }
.page-heading p { margin: 0; }
.eyebrow { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .7rem; color: var(--teal-700); font-size: .76rem; font-weight: 850; letter-spacing: .02em; }
.section-title { margin-bottom: .55rem; font-size: clamp(1.35rem, 3vw, 2rem); }
.section-lead { max-width: 650px; margin: 0; color: var(--ink-600); }
.empty-state { padding: clamp(2.5rem, 8vw, 5rem) 1.25rem; text-align: center; border: 1px dashed var(--ink-300); border-radius: var(--radius-lg); background: rgba(255,255,255,.7); }
.empty-state-icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 1rem; border-radius: 1.25rem; color: var(--teal-700); background: var(--teal-50); font-size: 1.75rem; }
.empty-state h2 { margin-bottom: .45rem; font-size: 1.1rem; }
.loading-state { display: flex; align-items: center; gap: .7rem; color: var(--ink-600); }
.status-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .65rem; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.status-pill.success { color: var(--green-600); background: var(--green-100); }
.status-pill.warning { color: #d45500; background: var(--amber-100); }
.status-pill.danger { color: var(--red-600); background: var(--red-100); }

/* Authentication */
.auth-layout { min-height: 680px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-lg); }
.auth-story { position:relative; display:flex; flex-direction:column; justify-content:flex-start; overflow:hidden; padding:1.6rem clamp(2rem,5vw,4.5rem) clamp(2rem,5vw,4.5rem); color:#fff; background:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),url('../uploads/auth-bg.jpg') center/cover; }    /* linear-gradient(145deg,rgba(62,77,110,.94),rgba(82,96,128,.9)) */
.auth-story::before { content: ""; position: absolute; width: 360px; height: 360px; inset: -180px auto auto -130px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.auth-story > * { position: relative; z-index: 1; }
.auth-story-badge { align-self:flex-start; margin-top:0; margin-bottom:1rem; padding:.5rem .75rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(255,255,255,.08); font-size:.72rem; font-weight:800; }.auth-story h1 { max-width: 560px; color: #fff; font-size: clamp(2rem,4vw,3.6rem); }
.auth-story p { max-width: 540px; color: #c6dce1; }
.auth-story-points { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; margin-top: 1rem; color: #e4eff1; font-size: .75rem; }
.auth-story-points i { color: #526080; }
.auth-panel { display: flex; align-items: center; justify-content: center; padding: clamp(1.5rem,4vw,4rem); }
.auth-form-wrap { width: min(100%, 520px); }
.auth-heading { margin-bottom: 1.5rem; }
.auth-heading h2 { margin-bottom: .35rem; font-size: 1.55rem; }
.auth-heading p { margin: 0; font-size: .82rem; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; margin-bottom: 1.4rem; padding: .3rem; border-radius: .85rem; background: var(--ink-50); }
.auth-tabs .nav-link { padding: .6rem; border: 0; border-radius: .65rem; color: var(--ink-600); background: transparent; font-size: .78rem; font-weight: 800; }
.auth-tabs .nav-link.active { color: var(--ink-950); background: #fff; box-shadow: var(--shadow-xs); }
.auth-field { position: relative; }
.auth-field > i { position: absolute; top: 42px; right: .85rem; z-index: 2; color: var(--ink-500); }
.auth-field .form-control, .auth-field .form-select { padding-right: 2.5rem; }
.auth-divider { display: flex; align-items: center; gap: .7rem; margin: 1.2rem 0; color: var(--ink-500); font-size: .7rem; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.auth-helper { color: var(--ink-600); font-size: .76rem; text-align: center; }
.otp-code-input { direction: ltr; text-align: center; letter-spacing: .65em; font-size: 1.1rem; font-weight: 900; }

/* =========================================================
   QUESTION CONTENT OWNERSHIP - V36
   ---------------------------------------------------------
   Question / formula / imported Word table styling belongs ONLY to:
       static/css/question-content.css
   ========================================================= */

.footer{
    background:#3e4d6e;
    color:#fff;
    padding:50px 0 20px;
}


.footer a{
    color:#fff;
    text-decoration:none;
}


.footer h5{
    color:#fff;
}


.social-links a{
    font-size:25px;
    margin-left:15px;
}


.enamad img{
    background:#fff;
    padding:8px;
    border-radius:12px;
}

/* =========================================================
   GLOBAL MOBILE RESPONSIVE PATCH
   ========================================================= */

@media (max-width: 991.98px) {

    .site-nav-desktop {
        display: none !important;
    }

    .site-mobile-toggle {
        display: grid !important;
    }

    .site-navbar-inner {
        gap: .75rem;
    }

    .site-navbar {
        min-height: 68px;
    }

    .site-brand-logo-wrap {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .site-brand-content strong {
        font-size: .92rem;
    }

    .site-brand-content small {
        font-size: .62rem;
    }
}


@media (max-width: 767.98px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        font-size: .88rem;
    }

    /* -------------------------
       CONTAINERS
       ------------------------- */

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        width: 100%;
        max-width: 100%;
        padding-right: .85rem;
        padding-left: .85rem;
    }

    .site-main {
        padding-top: .8rem;
        padding-bottom: 2.5rem;
    }

    /* -------------------------
       HEADER
       ------------------------- */

    .site-topline {
        padding: .3rem 0;
        font-size: .64rem;
    }

    .site-navbar {
        min-height: 62px;
    }

    .site-navbar-inner {
        gap: .5rem;
    }

    .site-brand {
        gap: .5rem;
        min-width: 0;
    }

    .site-brand-logo-wrap {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
        padding: .2rem;
    }

    .site-brand-content {
        min-width: 0;
    }

    .site-brand-content strong {
        font-size: .84rem;
        white-space: nowrap;
    }

    .site-brand-content small {
        display: none;
    }

    .site-navbar-actions {
        gap: .4rem;
        flex: 0 0 auto;
    }

    .nav-icon-button,
    .site-mobile-toggle {
        width: 38px;
        height: 38px;
        border-radius: .7rem;
        font-size: 1.05rem;
    }

    /* -------------------------
       GENERAL HEADINGS
       ------------------------- */

    .page-heading {
        align-items: stretch;
        flex-direction: column;
        gap: .75rem;
        margin-bottom: 1rem;
    }

    .page-heading > div {
        min-width: 0;
    }

    .page-heading h1 {
        font-size: 1.3rem;
        line-height: 1.55;
    }

    .page-heading p {
        font-size: .75rem;
        line-height: 1.8;
    }

    .page-heading > .btn,
    .page-heading > a.btn {
        width: 100%;
    }

    /* -------------------------
       CARDS
       ------------------------- */

    .card,
    .surface-card {
        border-radius: .85rem;
    }

    .card-header {
        padding: .8rem .9rem;
    }

    .card-body {
        padding: .9rem;
    }

    /* -------------------------
       BUTTONS
       ------------------------- */

    .btn {
        min-height: 42px;
        padding: .52rem .75rem;
        font-size: .79rem;
    }

    .btn-group.mobile-stack,
    .mobile-btn-stack {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: .5rem;
    }

    /* -------------------------
       FORMS
       ------------------------- */

    .form-control,
    .form-select,
    .input-group > .form-control,
    .input-group > .form-select {
        min-height: 44px;
        font-size: .82rem;
    }

    textarea.form-control {
        min-height: 105px;
    }

    .row > [class*="col-"] {
        min-width: 0;
    }

    /* -------------------------
       TABLES
       ------------------------- */

    .table-responsive {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: .75rem;
    }

    .table {
        min-width: 680px;
        font-size: .76rem;
    }

    .table > :not(caption) > * > * {
        padding: .62rem .65rem;
    }

    .table thead th {
        font-size: .68rem;
    }

    /* -------------------------
       AUTH PAGES
       ------------------------- */

    .auth-layout {
        min-height: 0;
        grid-template-columns: 1fr;
        border-radius: 1rem;
    }

    .auth-story {
        display: none;
    }

    .auth-panel,
    .auth-form-panel,
    .auth-content {
        width: 100%;
        min-width: 0;
        padding: 1rem !important;
    }

    /* -------------------------
       FLASH MESSAGES
       ------------------------- */

    .flash-stack {
        top: 75px;
        right: .65rem;
        left: .65rem;
        width: auto;
    }

    .flash-stack-admin {
        top: .65rem;
    }

    .alert {
        padding: .7rem .75rem;
        font-size: .76rem;
    }

    /* -------------------------
       MODALS
       ------------------------- */

    .modal-dialog {
        margin: .75rem;
    }

    .modal-content {
        border-radius: 1rem;
    }

    /* -------------------------
       FOOTER
       ------------------------- */

    .footer {
        text-align: right;
    }

    .footer .container {
        padding-inline: 1rem;
    }

    .footer .col-lg-4 {
        margin-bottom: 1.5rem !important;
    }

    .footer h5 {
        font-size: .9rem;
    }

    .footer p {
        font-size: .75rem;
    }
}


@media (max-width: 420px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        padding-right: .65rem;
        padding-left: .65rem;
    }

    .site-brand-content strong {
        font-size: .78rem;
    }

    .nav-icon-button,
    .site-mobile-toggle {
        width: 36px;
        height: 36px;
    }

    .card-body {
        padding: .75rem;
    }

    .page-heading h1 {
        font-size: 1.18rem;
    }

    .btn {
        padding-inline: .65rem;
    }
}

.auth-password-input { padding-left: 2.8rem !important; }
.auth-password-toggle { position:absolute; left:.8rem; bottom:.72rem; z-index:3; display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:.5rem; color:var(--ink-500); background:transparent; cursor:pointer; }
.auth-password-toggle:hover { color:var(--ink-950); background:var(--ink-50); }
.auth-password-toggle i { font-size:1rem; }

.site-nav-desktop {
    display: flex;
    align-items: center;
    gap: .08rem;
    margin-inline: auto;
}

/* لینک‌هایی که وارد صفحه دیگری می‌شوند */
.site-nav-link.nav-page-link {
    margin-inline: .08rem;
    padding: .52rem .62rem;
    background: #f5f7fa;
    border: 1px solid #e7ebf0;
}

/* لینک‌های بخش‌های صفحه اصلی */
.site-nav-link.nav-section-link {
    padding: .52rem .48rem;
    background: transparent;
    border: 1px solid transparent;
}

/* hover لینک‌های اصلی */
.site-nav-link.nav-page-link:hover {
    background: #eef1f5;
    border-color: #d9dee6;
}

/* لینک صفحه فعال */
.site-nav-link.nav-page-link.active {
    background: #edf0f5;
    border-color: #d7dce5;
}

/* =========================================================
   PUBLIC CTA PALETTE
   ---------------------------------------------------------
   دکمه‌های اقدام اصلی صفحات عمومی مثل خانه و فروشگاه:
   نارنجی #d45500
   hover: #526080
   ========================================================= */

/* متغیرهای داخلی صفحه خانه که CSS همان صفحه تعریف می‌کند */
.landing-page {
    --landing-primary: #3e4d6e !important;
    --landing-primary-dark: #526080 !important;
    --landing-accent: #d45500 !important;
    --landing-accent-dark: #526080 !important;
}

/* CTA اصلی در صفحات عمومی */
.public-area .btn-primary {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: #d45500 !important;
    --bs-btn-border-color: #d45500 !important;
    --bs-btn-hover-color: #fff !important;
    --bs-btn-hover-bg: #526080 !important;
    --bs-btn-hover-border-color: #526080 !important;
    --bs-btn-active-color: #fff !important;
    --bs-btn-active-bg: #3e4d6e !important;
    --bs-btn-active-border-color: #3e4d6e !important;
}

/* بعضی قالب‌های فروشگاه برای CTA از warning استفاده می‌کنند */
.public-area .btn-warning {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: #d45500 !important;
    --bs-btn-border-color: #d45500 !important;
    --bs-btn-hover-color: #fff !important;
    --bs-btn-hover-bg: #526080 !important;
    --bs-btn-hover-border-color: #526080 !important;
}

/* نسخه outline همان CTA */
.public-area .btn-outline-primary {
    --bs-btn-color: #d45500 !important;
    --bs-btn-border-color: #d45500 !important;
    --bs-btn-hover-color: #fff !important;
    --bs-btn-hover-bg: #d45500 !important;
    --bs-btn-hover-border-color: #d45500 !important;
    --bs-btn-active-bg: #526080 !important;
    --bs-btn-active-border-color: #526080 !important;
}

/* =========================================================
   PUBLIC ACTION BUTTONS - ORANGE V2
   ---------------------------------------------------------
   دکمه‌های عملیاتی داخل محتوای صفحات عمومی:
   اصلی: #d45500
   hover: #526080
   active: #3e4d6e
   هدر و منوی بالا عمداً هدف قرار نگرفته‌اند.
   ========================================================= */

.public-area .site-main .btn-primary,
.public-area .site-main .btn-warning,
.public-area .site-main .btn-outline-primary,
.public-area .site-main .btn-soft,
.public-area .site-main .btn-ghost,
.public-area .site-main .btn-secondary {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: #d45500 !important;
    --bs-btn-border-color: #d45500 !important;
    --bs-btn-hover-color: #fff !important;
    --bs-btn-hover-bg: #526080 !important;
    --bs-btn-hover-border-color: #526080 !important;
    --bs-btn-active-color: #fff !important;
    --bs-btn-active-bg: #3e4d6e !important;
    --bs-btn-active-border-color: #3e4d6e !important;

    color: #fff !important;
    background-color: #d45500 !important;
    border-color: #d45500 !important;
}

.public-area .site-main .btn-primary:hover,
.public-area .site-main .btn-warning:hover,
.public-area .site-main .btn-outline-primary:hover,
.public-area .site-main .btn-soft:hover,
.public-area .site-main .btn-ghost:hover,
.public-area .site-main .btn-secondary:hover {
    color: #fff !important;
    background-color: #526080 !important;
    border-color: #526080 !important;
}

/* دکمه‌های CTA خاص صفحه خانه که CSS داخلی خودش رنگ می‌دهد */
.landing-page .hero-actions .btn,
.landing-page .course-section-head .btn,
.landing-page .cta-panel .btn {
    color: #fff !important;
    background: #d45500 !important;
    border-color: #d45500 !important;
}

.landing-page .hero-actions .btn:hover,
.landing-page .course-section-head .btn:hover,
.landing-page .cta-panel .btn:hover {
    color: #fff !important;
    background: #526080 !important;
    border-color: #526080 !important;
}

