﻿/* تعریف فونت Regular */
@font-face {
    font-family: 'IranYekan';
    src: url('/font/iranyekanwebregular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

/* تعریف فونت Medium */
@font-face {
    font-family: 'IranYekan';
    src: url('/font/iranyekanwebmedium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

/* تعریف فونت Bold */
@font-face {
    font-family: 'IranYekan';
    src: url('/font/iranyekanwebbold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

/* تعریف فونت ExtraBold */
@font-face {
    font-family: 'IranYekan';
    src: url('/font/iranyekanwebextrabold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

/* استفاده پیش‌فرض از فونت IranYekan در بدنه */
body {
    font-family: 'IranYekan', sans-serif;
    background-color: #f1f2f7;
}

header {
    background: linear-gradient(135deg, #162447, #1f4068);
}

footer {
    background: #1f4068;
}

.navbar-brand,
.nav-link,
.footer-text {
    color: #ffffff !important;
}

    .navbar-brand:hover,
    .nav-link:hover {
        color: #f7941e !important; /* رنگ اکسن: نارنجی ملایم */
    }


h1 {
    font-weight: 700; /* استفاده از نسخه Bold */
}

p {
    font-weight: 400; /* استفاده از نسخه Regular */
}

html {
    font-size: 14px;
}

.btn-custom {
    width: 290px;
    height: 80px;
    font-size: 28px;
    margin: 20px;
    border-radius: 10px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
}

.access-denied-container {
    text-align: center;
    background: linear-gradient(135deg, #f05f57, #360940);
    padding: 2.5rem 3rem;
    border-radius: 1rem;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

    .access-denied-container h1 {
        font-size: 3.5rem;
        margin-bottom: 1rem;
    }

    .access-denied-container p {
        font-size: 1.25rem;
        margin-bottom: 2rem;
    }
.btn-access-denied {
    border-radius: 50px;
    padding: 0.75rem 2.5rem;
    font-size: 1.25rem;
    background-color: #fff !important;
    color: #360940 !important;
    font-weight: bold;
    text-decoration: none;
}

    .btn-access-denied:hover {
        background-color: #852850 !important;
        color: #fff !important;
    }

table.table.table-striped.table-bordered.table-hover.align-middle th,
table.table.table-striped.table-bordered.table-hover.align-middle td {
    text-align: center; /* center horizontally */
    vertical-align: middle; /* center vertically */
}

table.dataTable th,
table.dataTable td {
    text-align: center !important;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    background: #f1f2f7;
    margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.btn-group {
    margin-left: 40px;
}

/* =======================
   استایل‌های اصلی فاکتور (A4)
========================= */
.invoice-card {
    margin: auto;
    max-width: 900px;
    border: none;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    background: #fff;
}

.invoice-header {
    background: linear-gradient(135deg, #0d6efd, #6610f2);
    color: #fff;
    padding: 20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

    .invoice-header .header-right,
    .invoice-header .header-left {
        width: 48%;
    }

    .invoice-header .header-right {
        text-align: right;
    }

    .invoice-header .header-left {
        text-align: left;
    }

.invoice-body {
    padding: 20px;
}

.info-card {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

    .info-card .info-header {
        background-color: #f8f9fa;
        padding: 10px;
        border-bottom: 1px solid #dee2e6;
        font-weight: bold;
        text-align: center;
    }

    .info-card .info-body {
        padding: 15px;
        text-align: center;
    }

.table-responsive {
    margin-bottom: 20px;
}

.summary-section {
    margin-bottom: 20px;
}

    .summary-section .d-flex {
        margin-bottom: 5px;
        font-weight: bold;
    }

.payment-details {
    margin-bottom: 20px;
}

.stamp-sign {
    border: 2px dashed #999;
    padding: 20px;
    text-align: center;
    font-weight: bold;
    border-radius: 10px;
}

/* =======================
   استایل‌های مختص حالت A5
   (با استفاده از کلاس a5 اضافه شده به بدنه یا کانتینر والد)
========================= */
body.a5 .invoice-card {
    max-width: 600px; /* عرض کاهش یافته برای فیت شدن در A5 */
}

body.a5 .invoice-header {
    padding: 15px; /* کاهش فضای داخلی */
    font-size: 0.9em; /* کمی کوچک‌تر */
}

body.a5 .invoice-body {
    padding: 15px;
    font-size: 0.9em;
}

body.a5 .info-card {
    margin-bottom: 15px;
}

    body.a5 .info-card .info-header {
        padding: 8px;
        font-size: 0.9em;
    }

    body.a5 .info-card .info-body {
        padding: 10px;
        font-size: 0.9em;
    }

body.a5 .table-responsive,
body.a5 .summary-section,
body.a5 .payment-details {
    margin-bottom: 15px;
    font-size: 0.9em;
}

body.a5 .stamp-sign {
    padding: 15px;
    font-size: 0.9em;
}

/* استایل‌های کلی برای کانتینر فاکتور */
.print-container {
    margin: 20px auto;
    padding: 10mm;
    box-sizing: border-box;
}

    /* استایل پیش‌فرض برای حالت A4 */
    .print-container.a4 {
        width: 793px; /* تقریباً 210mm (A4) به پیکسل (۸.27 اینچ * 96px) */
        font-size: 12pt;
    }

    /* استایل برای حالت A5 */
    .print-container.a5 {
        width: 558px; /* تقریباً 148mm (A5) به پیکسل (5.83 اینچ * 96px) */
        font-size: 9pt;
    }

/* ریسپانسیو (برای نمایش روی صفحه)
   اگر اندازه صفحه کوچکتر از حد معینی شود،
   کانتینر به اندازه صفحه تغییر اندازه می‌دهد */
@media screen and (max-width: 800px) {
    .print-container.a4,
    .print-container.a5 {
        width: 100%;
        max-width: 100%;
        padding: 5%;
    }
}

/* تنظیمات چاپ */
@media print {
    /* حذف حاشیه‌های پیش‌فرض چاپ */
    @page {
        margin: 0;
        size: auto;
    }

    .no-print {
        display: none;
    }

    * {
        border-radius: 0 !important;
        color: black !important;
        background-color: white !important;
        border-color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
        -webkit-print-color-adjust: exact !important;
    }

    /* wrapper مرکزی‌کننده برای محتوا */
    .print-wrapper {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    /* تنظیمات نهایی برای container چاپ */
    .print-container {
        padding: 10mm;
        border: 1px solid black !important;
        box-sizing: border-box;
    }

        .print-container.a4 {
            width: 793px; /* تقریباً 210mm */
            margin: 0 auto;
            font-size: 12pt;
        }

        .print-container.a5 {
            width: 558px; /* تقریباً 148mm */
            margin: 0 auto;
            font-size: 9pt;
        }

    .invoice-header {
        background: #fff;
    }
}


/* Notifications */
.layout-navbar .navbar-dropdown .badge-notifications {
    inset-block-start: 7px;
    inset-inline-end: -3px;
}

.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list {
    max-block-size: 24.08rem;
}

    .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item {
        cursor: pointer;
        padding-block: 0.75rem;
        padding-inline: 1rem;
    }

        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-actions {
            text-align: center;
        }

            .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-actions > a {
                display: block;
            }

        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-archive i,
        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-archive span {
            color: var(--bs-heading-color);
        }

        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item.marked-as-read .dropdown-notifications-read,
        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item.marked-as-read .dropdown-notifications-archive {
            visibility: hidden;
        }

            .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item.marked-as-read .dropdown-notifications-read span {
                background-color: var(--bs-secondary);
            }

        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:not(.marked-as-read) .dropdown-notifications-archive {
            visibility: hidden;
        }

        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:hover.marked-as-read .dropdown-notifications-read,
        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:hover.marked-as-read .dropdown-notifications-archive {
            visibility: visible;
        }

        .layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:hover:not(.marked-as-read) .dropdown-notifications-archive {
            visibility: visible;
        }

.badge.badge-notifications {
    position: absolute;
    margin: 0;
    inset-block-start: auto;
    transform: translate(-50%, -30%);
}

:dir(rtl) .badge.badge-notifications {
    transform: translate(50%, -30%);
}

.badge.badge-notifications:not(.badge-center) {
    font-size: 0.582rem;
    line-height: 0.75rem;
    padding-block: 0.05rem;
    padding-inline: 0.2rem;
}

.btn[class*=btn-] .badge.badge-notifications {
    transform: translate(-50%, -50%);
}

:dir(rtl) .btn[class*=btn-] .badge.badge-notifications {
    transform: translate(50%, -50%);
}

.badge-outline-primary,
.btn[class*=-outline] .badge-outline-primary {
    --bs-badge-color: var(--bs-primary);
    --bs-badge-border-color: var(--bs-primary);
}

.bg-primary.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-primary-rgb);
}

.badge-outline-secondary,
.btn[class*=-outline] .badge-outline-secondary {
    --bs-badge-color: var(--bs-secondary);
    --bs-badge-border-color: var(--bs-secondary);
}

.bg-secondary.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-secondary-rgb);
}

.badge-outline-success,
.btn[class*=-outline] .badge-outline-success {
    --bs-badge-color: var(--bs-success);
    --bs-badge-border-color: var(--bs-success);
}

.bg-success.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-success-rgb);
}

.badge-outline-info,
.btn[class*=-outline] .badge-outline-info {
    --bs-badge-color: var(--bs-info);
    --bs-badge-border-color: var(--bs-info);
}

.bg-info.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-info-rgb);
}

.badge-outline-warning,
.btn[class*=-outline] .badge-outline-warning {
    --bs-badge-color: var(--bs-warning);
    --bs-badge-border-color: var(--bs-warning);
}

.bg-warning.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-warning-rgb);
}

.badge-outline-danger,
.btn[class*=-outline] .badge-outline-danger {
    --bs-badge-color: var(--bs-danger);
    --bs-badge-border-color: var(--bs-danger);
}

.bg-danger.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-danger-rgb);
}

.badge-outline-light,
.btn[class*=-outline] .badge-outline-light {
    --bs-badge-color: var(--bs-light);
    --bs-badge-border-color: var(--bs-light);
}

.bg-light.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-light-rgb);
}

.badge-outline-dark,
.btn[class*=-outline] .badge-outline-dark {
    --bs-badge-color: var(--bs-dark);
    --bs-badge-border-color: var(--bs-dark);
}

.bg-dark.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-dark-rgb);
}

.badge-outline-gray,
.btn[class*=-outline] .badge-outline-gray {
    --bs-badge-color: var(--bs-gray);
    --bs-badge-border-color: var(--bs-gray);
}

.bg-gray.bg-glow {
    --bs-badge-glow-shadow-color: var(--bs-gray-rgb);
}


