@font-face {
    font-family: IRANSans;
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Black.eot");
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Black.eot?#iefix") format("embedded-opentype"),
    url("../fonts/IRANSans/woff2/IRANSansWeb_Black.woff2") format("woff2"),
    url("../fonts/IRANSans/woff/IRANSansWeb_Black.woff") format("woff"),
    url("../fonts/IRANSans/ttf/IRANSansWeb_Black.ttf") format("truetype");
}

@font-face {
    font-family: IRANSans;
    font-style: normal;
    font-weight: bold;
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Bold.eot");
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Bold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/IRANSans/woff2/IRANSansWeb_Bold.woff2") format("woff2"),
    url("../fonts/IRANSans/woff/IRANSansWeb_Bold.woff") format("woff"),
    url("../fonts/IRANSans/ttf/IRANSansWeb_Bold.ttf") format("truetype");
}

@font-face {
    font-family: IRANSans;
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Medium.eot");
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Medium.eot?#iefix") format("embedded-opentype"),
    url("../fonts/IRANSans/woff2/IRANSansWeb_Medium.woff2") format("woff2"),
    url("../fonts/IRANSans/woff/IRANSansWeb_Medium.woff") format("woff"),
    url("../fonts/IRANSans/ttf/IRANSansWeb_Medium.ttf") format("truetype");
}

@font-face {
    font-family: IRANSans;
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Light.eot");
    src: url("../fonts/IRANSans/eot/IRANSansWeb_Light.eot?#iefix") format("embedded-opentype"),
    url("../fonts/IRANSans/woff2/IRANSansWeb_Light.woff2") format("woff2"),
    url("../fonts/IRANSans/woff/IRANSansWeb_Light.woff") format("woff"),
    url("../fonts/IRANSans/ttf/IRANSansWeb_Light.ttf") format("truetype");
}

@font-face {
    font-family: IRANSans;
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/IRANSans/eot/IRANSansWeb_UltraLight.eot");
    src: url("../fonts/IRANSans/eot/IRANSansWeb_UltraLight.eot?#iefix") format("embedded-opentype"),
    url("../fonts/IRANSans/woff2/IRANSansWeb_UltraLight.woff2") format("woff2"),
    url("../fonts/IRANSans/woff/IRANSansWeb_UltraLight.woff") format("woff"),
    url("../fonts/IRANSans/ttf/IRANSansWeb_UltraLight.ttf") format("truetype");
}

@font-face {
    font-family: IRANSans;
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/IRANSans/eot/IRANSansWeb.eot");
    src: url("../fonts/IRANSans/eot/IRANSansWeb.eot?#iefix") format("embedded-opentype"),
    url("../fonts/IRANSans/woff2/IRANSansWeb.woff2") format("woff2"),
    url("../fonts/IRANSans/woff/IRANSansWeb.woff") format("woff"),
    url("../fonts/IRANSans/ttf/IRANSansWeb.ttf") format("truetype");
}

body,
p,
h1,
h2,
h3,
h4,
h5,
h6,
small {
    font-family: IRANSans !important;
    line-height: 1.5 !important;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    direction: rtl;
}

a {
    text-decoration: none !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

/* PRIMARY COLORS (Brand Blue) - Light Mode */
.text-primary-00  { color: #0B3A66 !important; }
.bg-primary-00    { background-color: #0B3A66 !important; }

.text-primary-10  { color: #0E4A85 !important; }
.bg-primary-10    { background-color: #0E4A85 !important; }

.text-primary-20  { color: #1061A8 !important; }
.bg-primary-20    { background-color: #1061A8 !important; }

.text-primary-30  { color: #1479CC !important; }
.bg-primary-30    { background-color: #1479CC !important; }

.text-primary-40  { color: #1F94F0 !important; }
.bg-primary-40    { background-color: #1F94F0 !important; }

.text-primary-50  { color: #3BA8FF !important; } /* MAIN */
.bg-primary-50    { background-color: #3BA8FF !important; }

.text-primary-60  { color: #66BEFF !important; }
.bg-primary-60    { background-color: #66BEFF !important; }

.text-primary-70  { color: #8ED1FF !important; }
.bg-primary-70    { background-color: #8ED1FF !important; }

.text-primary-80  { color: #B7E3FF !important; }
.bg-primary-80    { background-color: #B7E3FF !important; }

.text-primary-90  { color: #D6F0FF !important; }
.bg-primary-90    { background-color: #D6F0FF !important; }

.text-primary-95  { color: #EAF7FF !important; }
.bg-primary-95    { background-color: #EAF7FF !important; }

.text-primary-100 { color: #F5FBFF !important; }
.bg-primary-100   { background-color: #F5FBFF !important; }


/* SECONDARY COLORS (Brand Purple) - Light Mode */
.text-secondary-00  { color: #241A7A !important; }
.bg-secondary-00    { background-color: #241A7A !important; }

.text-secondary-10  { color: #2F22A3 !important; }
.bg-secondary-10    { background-color: #2F22A3 !important; }

.text-secondary-20  { color: #3B2BCD !important; }
.bg-secondary-20    { background-color: #3B2BCD !important; }

.text-secondary-30  { color: #4B3EF0 !important; }
.bg-secondary-30    { background-color: #4B3EF0 !important; }

.text-secondary-40  { color: #5A52FF !important; }
.bg-secondary-40    { background-color: #5A52FF !important; }

.text-secondary-50  { color: #6C5CFF !important; } /* MAIN */
.bg-secondary-50    { background-color: #6C5CFF !important; }

.text-secondary-60  { color: #897CFF !important; }
.bg-secondary-60    { background-color: #897CFF !important; }

.text-secondary-70  { color: #A89DFF !important; }
.bg-secondary-70    { background-color: #A89DFF !important; }

.text-secondary-80  { color: #C7C0FF !important; }
.bg-secondary-80    { background-color: #C7C0FF !important; }

.text-secondary-90  { color: #E1DEFF !important; }
.bg-secondary-90    { background-color: #E1DEFF !important; }

.text-secondary-95  { color: #F1F0FF !important; }
.bg-secondary-95    { background-color: #F1F0FF !important; }

.text-secondary-100 { color: #FAFAFF !important; }
.bg-secondary-100   { background-color: #FAFAFF !important; }


/* ACCENT COLORS (Badge Orange) - Light Mode */
.text-accent-00 { color: #7A3B00 !important; }
.bg-accent-00   { background-color: #7A3B00 !important; }

.text-accent-10 { color: #9B4A00 !important; }
.bg-accent-10   { background-color: #9B4A00 !important; }

.text-accent-20 { color: #B85B00 !important; }
.bg-accent-20   { background-color: #B85B00 !important; }

.text-accent-30 { color: #D66D00 !important; }
.bg-accent-30   { background-color: #D66D00 !important; }

.text-accent-40 { color: #F08A00 !important; }
.bg-accent-40   { background-color: #F08A00 !important; }

.text-accent-50 { color: #FFB020 !important; } /* MAIN */
.bg-accent-50   { background-color: #FFB020 !important; }

.text-accent-60 { color: #FFC45A !important; }
.bg-accent-60   { background-color: #FFC45A !important; }

.text-accent-70 { color: #FFD487 !important; }
.bg-accent-70   { background-color: #FFD487 !important; }

.text-accent-80 { color: #FFE3B3 !important; }
.bg-accent-80   { background-color: #FFE3B3 !important; }

.text-accent-90 { color: #FFF1DB !important; }
.bg-accent-90   { background-color: #FFF1DB !important; }


/* GRAY COLORS (Modern Slate) - Light Mode */
.text-gray-00  { color: #0F172A !important; }
.bg-gray-00    { background-color: #0F172A !important; }

.text-gray-10  { color: #1E293B !important; } /* TEXT MAIN */
.bg-gray-10    { background-color: #1E293B !important; }

.text-gray-20  { color: #334155 !important; }
.bg-gray-20    { background-color: #334155 !important; }

.text-gray-30  { color: #475569 !important; }
.bg-gray-30    { background-color: #475569 !important; }

.text-gray-40  { color: #64748B !important; } /* TEXT SECONDARY */
.bg-gray-40    { background-color: #64748B !important; }

.text-gray-50  { color: #94A3B8 !important; }
.bg-gray-50    { background-color: #94A3B8 !important; }

.text-gray-60  { color: #CBD5E1 !important; }
.bg-gray-60    { background-color: #CBD5E1 !important; }

.text-gray-70  { color: #E2E8F0 !important; }
.bg-gray-70    { background-color: #E2E8F0 !important; }

.text-gray-80  { color: #EEF2F7 !important; }
.bg-gray-80    { background-color: #EEF2F7 !important; }

.text-gray-90  { color: #F1F5F9 !important; }
.bg-gray-90    { background-color: #F1F5F9 !important; }

.text-gray-95  { color: #F6F8FC !important; } /* BACKGROUND MAIN */
.bg-gray-95    { background-color: #F6F8FC !important; }

.text-gray-99  { color: #FBFCFE !important; }
.bg-gray-99    { background-color: #FBFCFE !important; }

.text-gray-100 { color: #FFFFFF !important; }
.bg-gray-100   { background-color: #FFFFFF !important; }



/* BACKGROUND */
.bg-background {
    background-color: #F6F8FC !important;
}


/* STATUS COLORS (keep readable in light UI) */
.text-success { color: #16A34A !important; }
.bg-success   { background-color: #16A34A !important; }

.text-danger  { color: #DC2626 !important; }
.bg-danger    { background-color: #DC2626 !important; }

.text-warning { color: #FFB020 !important; } /* aligned with badge */
.bg-warning   { background-color: #FFB020 !important; }


input:focus,
textarea:focus,
.form-select:focus,
.form-check-input {
    box-shadow: none !important;
}

textarea.form-control {
    resize: none !important;
}

.form-check {
    border: none !important;
}

.accordion-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accordion-item {
    width: 100%;
}

.accordion-button {
    display: flex;
    justify-content: space-between;
    transition: all 0.2s ease-in-out !important;
    width: 100% !important;
    -webkit-transition: all 0.2s ease-in-out !important;
    -moz-transition: all 0.2s ease-in-out !important;
    -ms-transition: all 0.2s ease-in-out !important;
    -o-transition: all 0.2s ease-in-out !important;
    box-shadow: none !important;
}

.accordion-button::after {
    margin-left: 0.5rem !important;
    content: "" !important;
}

.form-check-input {
    box-shadow: none !important;
}

.form-check {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-right: 1rem !important;
}

.form-check .form-check-input {
    margin-left: 0 !important;
    margin-top: 0 !important;
    width: 16.5px !important;
    height: 16.5px !important;
    border-width: 2px !important;
    border-color: #959595;
}

.form-check .form-check-label {
    width: 100% !important;
}

.disable-item {
    filter: grayscale(100%);
    pointer-events: none;
    opacity: 0.5;
}

.breadcrumb-item + .breadcrumb-item::before {
    float: right !important;
    padding-left: 0.5rem;
}


/* BUTTONS / BORDERS - aligned with Light palette */
.btn-outline-secondary {
    border: 1px solid #1E293B;  /* text main */
    color: #1E293B;
    padding: 8px 18px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.btn-outline-secondary i {
    font-size: 18px;
    margin-top: 2px;
}

.btn-outline-secondary:active {
    opacity: 0.8;
}

.chat-input:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

@media (max-width: 350px) {
    .chat-box {
        padding: 6px !important;
    }

    .chat-box:first-child {
        margin-left: 4px !important;
        margin-right: 0 !important;
    }

    .mic-btn {
        padding: 4px !important;
    }

    .mic-btn img {
        width: 20px !important;
        height: 20px !important;
    }

    .send-btn {
        padding: 6px !important;
    }

    .send-btn img {
        width: 20px !important;
        height: 20px !important;
    }

    .chat-input {
        font-size: 12px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}

.border-primary {
    border-color: #3BA8FF !important;
}

.btn-default {
    background: #3BA8FF !important;
    color: #FFFFFF !important;
}

.page-enter-from {
    opacity: 0;
    transform: translateX(40px) scale(0.98);
}

.page-enter-active {
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.page-enter-to {
    opacity: 1;
    transform: translateX(0) scale(1);
}

.page-leave-from {
    opacity: 1;
    transform: translateX(0) scale(1);
}

.page-leave-active {
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.page-leave-to {
    opacity: 0;
    transform: translateX(-40px) scale(0.98);
}

.lazy-img {
    opacity: 0;
    filter: blur(10px);
    transform: scale(1.05);
    transition: opacity 0.1s ease,
    filter 0.15s ease,
    transform 0.15s ease;
}

.lazy-img.is-loaded {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}

.sidebar-container {
    z-index: 1030 !important;
}

input:focus {
    outline: none;
    box-shadow: none;
}

.mobile-shell {
    z-index: 999 !important;
}

.mobile-header {
    z-index: 999 !important;
}

.location-btn {
    border: 1px solid #E2E8F0; /* soft slate border */
}

.filter-btn {
    width: 94% !important;
    height: 35px !important;
    transition: all 0.2s ease !important;
    border-width: 1.5px !important;
    border: 2px solid #3BA8FF !important;
    border-radius: 0 0 10px 10px !important;
    background-color: #3BA8FF !important;
    color: #FFFFFF !important;
    z-index: 995 !important;
}