@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url('../fonts/Vazirmatn-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --bs-font-sans-serif: Vazirmatn;
    --bs-font-serif: Vazirmatn;
    --bs-font-monospace: Vazirmatn;
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-font-size-base: 1rem;
    --bs-font-size-sm: 0.875rem;
    --bs-font-size-lg: 1.2rem;
    --bs-body-bg: var(--bs-light);
    --bs-border-color: rgba(250, 250, 250, 0.05);
    --bs-avisa-primary: rgb(94, 109, 82);
    --bs-avisa-primary-1: rgba(94, 109, 82, 0.1);
    --bs-avisa-primary-2: rgba(94, 109, 82, 0.2);
    --bs-avisa-primary-3: rgba(94, 109, 82, 0.3);
    --bs-avisa-primary-4: rgba(94, 109, 82, 0.4);
    --bs-avisa-primary-5: rgba(94, 109, 82, 0.5);
    --bs-avisa-primary-6: rgba(94, 109, 82, 0.6);
    --bs-avisa-primary-7: rgba(94, 109, 82, 0.7);
    --bs-avisa-primary-8: rgba(94, 109, 82, 0.8);
    --bs-avisa-primary-9: rgba(94, 109, 82, 0.9);
    --bs-pagination-hover-color: var(--bs-avisa-primary) !important;
    --swiper-pagination-color: var(--bs-avisa-primary) !important;
    --swiper-theme-color: var(--bs-avisa-primary) !important;
}

.text-avisa {
    color: var(--bs-avisa-primary) !important;
}

.bg-avisa {
    background-color: var(--bs-avisa-primary) !important;
}

.fs-7 {
    font-size: 0.9rem !important;
}

.fs-8 {
    font-size: 0.75rem !important;
}

.p-4-xl {
    padding: 2rem;
}

body {
    font-family: var(--bs-font-sans-serif), serif;
    background: #f9f9f9;
}

a {
    text-decoration: none;
}

/* Mobile slide menu */
.mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    height: 100vh;
    width: 250px;
    background-color: rgba(250, 250, 250, 0.7) !important;
    backdrop-filter: blur(10px);
    box-shadow: -2px 0 5px rgba(0,0,0,0.1);
    transition: right 0.3s ease-in-out;
    z-index: 1050;
    padding-top: 2rem;
    display: grid;
    overflow: scroll;
}

.mobile-menu.active {
    right: 0;
}

.menu-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.3);
    z-index: 1040;
    display: none;
    backdrop-filter: blur(5px);
}

.menu-backdrop.show {
    display: block;
}

@media (min-width: 992px) {
    .mobile-menu,
    .menu-backdrop {
        display: none !important;
    }
}

.navbar-brand {
    border: none !important;
}

.navbar-dark {
    background-color: #282828;
}

.logo {
    height: 40px;
}

.carousel-image {
    width: 100%;
    height: auto;
    min-height: calc(55vh + 100px);
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    position: relative;
}

.carousel-image h1 {
    margin-bottom: 1.5rem;
}

.carousel-image p {
    font-size: 1.2rem;
}

.carousel-image .content {
    margin-bottom: 2.2rem;
}

.carousel-caption {
    bottom: 2.5rem;
    text-decoration: none;
}

.carousel-control {
    position: absolute;
    top: 50%;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity .6s ease;
}

.carousel-control:hover {
    opacity: 1;
    color: var(--bs-avisa-primary);
    transition: opacity .6s ease;
}

.carousel-next-btn {
    left: 15%;
}

.carousel-prev-btn {
    right: 15%;
}

.carousel-indicators [data-bs-target] {
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background-color: white;
    opacity: 0.5;
    transition: opacity .6s ease;
}

.carousel-indicators .active {
    background-color: var(--bs-avisa-primary);
    opacity: 1;
    transition: opacity .6s ease;
}

.force {
    display: none !important;
}

.btn-dark {
    background-color: rgba(250, 250, 250, 0.02);
    border-color: var(--bs-border-color);
}

.btn-dark:hover, .btn-dark:focus, .btn-dark:visited, .btn-dark:active, .btn-dark:target, .btn-dark.active {
    background-color: rgba(250, 250, 250, 0.1);
    border-color: var(--bs-border-color);
}

.page-link {
    background-color: rgba(250, 250, 250, 0.02);
    margin-left: 0.5rem;
    border-radius: 0.5rem;
    border-color: transparent;
    color: var(--bs-body-color);
}

.page-link:hover, .page-link:focus, .page-link:visited, .page-link:active, .page-link:target {
    background-color: rgba(250, 250, 250, 0.1);
    border-color: transparent;
}

.page-item.active > .page-link {
    background-color: var(--bs-avisa-primary);
    border-color: transparent;
    color: white !important;
}

.page-item.disabled > .page-link {
    background-color: rgba(0, 0, 0, 0.1);
    border-color: transparent;
}

.pagination .page-item .page-link:hover {
    color: var(--bs-avisa-primary);
}

.border-light-1 {
    border-color: rgba(250, 250, 250, 0.1) !important;
}

.border-light-2 {
    border-color: rgba(250, 250, 250, 0.2) !important;
}

.border-light-3 {
    border-color: rgba(250, 250, 250, 0.3) !important;
}

.avisa-title {
    position: relative;
    font-size: 1.6rem;
    margin-bottom: 3.5rem;
    display: inline-block;
}

.avisa-title::before {
    position: absolute;
    right: 0;
    left: 0;
    top: calc(3rem - 2px);
    content: '';
    width: 60%;
    height: 2px;
    background-image: linear-gradient(to left, var(--bs-avisa-primary) 0%, #f9f9f9 100%);
    filter: blur(1px);
}

.avisa-title-centered {
    text-align: center;
    position: relative;
    font-size: 1.6rem;
    margin-bottom: 3.5rem;
    display: inline-block;
    left: 0;
    right: 0;
}

.avisa-title-centered::after {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    top: calc(3rem - 2px);
    content: '';
    width: 100%;
    height: 2px;
    background-image: linear-gradient(to left, #f9f9f9 0%, var(--bs-avisa-primary) 50%, #f9f9f9 100%);
    filter: blur(1px);
}

.footer-divider {
    filter: blur(1px);
    height: 2px;
    width: 100%;
    background-image: linear-gradient(to left, #f9f9f9 0%, var(--bs-avisa-primary) 50%, #f9f9f9 100%);
}

footer .about {
    flex: 0 0 auto;
}

footer .contact {
    flex: 0 0 auto;
    width: auto;
}

.auth-wrap {
    background-image: url("../images/auth-bg.jpg");
    min-height: 100vh;
    width: 100%;
    display: flex;
    background-position: center;
    background-size: cover;
}

.bg-light-blur-8 {
    background-color: rgba(250, 250, 250, 0.8) !important;
    backdrop-filter: blur(10px);
}

.bg-light-blur-7 {
    background-color: rgba(250, 250, 250, 0.7) !important;
    backdrop-filter: blur(10px);
}

.bg-light-blur-6 {
    background-color: rgba(250, 250, 250, 0.6) !important;
    backdrop-filter: blur(10px);
}

.bg-light-blur-5 {
    background-color: rgba(250, 250, 250, 0.5) !important;
    backdrop-filter: blur(10px);
}

.bg-light-blur-4 {
    background-color: rgba(250, 250, 250, 0.4) !important;
    backdrop-filter: blur(10px);
}

.bg-light-blur-3 {
    background-color: rgba(250, 250, 250, 0.3) !important;
    backdrop-filter: blur(10px);
}

.bg-light-blur-2 {
    background-color: rgba(250, 250, 250, 0.2) !important;
    backdrop-filter: blur(10px);
}

.bg-light-blur-1 {
    background-color: rgba(250, 250, 250, 0.1) !important;
    backdrop-filter: blur(10px);
}

.bg-dark-blur-6 {
    background-color: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(10px);
}

.bg-dark-blur-5 {
    background-color: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(10px);
}

.bg-dark-blur-4 {
    background-color: rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(10px);
}

.bg-dark-blur-3 {
    background-color: rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(10px);
}

.bg-dark-blur-2 {
    background-color: rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(10px);
}

.bg-dark-blur-1 {
    background-color: rgba(0, 0, 0, 0.1) !important;
    backdrop-filter: blur(10px);
}

.start-1 {
    right: 0.25rem !important;
}

.start-2 {
    right: 0.5rem !important;
}

.start-3 {
    right: 0.75rem !important;
}

.start-4 {
    right: 1rem !important;
}

.start-5 {
    right: 1.25rem !important;
}

.start-6 {
    right: 1.5rem !important;
}

.start-7 {
    right: 1.75rem !important;
}

.start-8 {
    right: 2rem !important;
}

.start-1- {
    right: -0.25rem !important;
}

.start-2- {
    right: -0.5rem !important;
}

.start-3- {
    right: -0.75rem !important;
}

.start-4- {
    right: -1rem !important;
}

.start-5- {
    right: -1.25rem !important;
}

.start-6- {
    right: -1.5rem !important;
}

.start-7- {
    right: -1.75rem !important;
}

.start-8- {
    right: -2rem !important;
}

.end-1 {
    left: 0.25rem !important;
}

.end-2 {
    left: 0.5rem !important;
}

.end-3 {
    left: 0.75rem !important;
}

.end-4 {
    left: 1rem !important;
}

.end-5 {
    left: 1.25rem !important;
}

.end-6 {
    left: 1.5rem !important;
}

.end-7 {
    left: 1.75rem !important;
}

.end-8 {
    left: 2rem !important;
}

.top-1 {
    top: 0.25rem !important;
}

.top-2 {
    top: 0.5rem !important;
}

.top-3 {
    top: 0.75rem !important;
}

.top-4 {
    top: 1rem !important;
}

.top-5 {
    top: 1.25rem !important;
}

.top-6 {
    top: 1.5rem !important;
}

.top-7 {
    top: 1.75rem !important;
}

.top-8 {
    top: 2rem !important;
}

.bottom-1 {
    bottom: 0.25rem !important;
}

.bottom-2 {
    bottom: 0.5rem !important;
}

.bottom-3 {
    bottom: 0.75rem !important;
}

.bottom-4 {
    bottom: 1rem !important;
}

.bottom-5 {
    bottom: 1.25rem !important;
}

.bottom-6 {
    bottom: 1.5rem !important;
}

.bottom-7 {
    bottom: 1.75rem !important;
}

.bottom-8 {
    bottom: 2rem !important;
}

.z-2000 {
    z-index: 2000;
}

.profile-banner {
    height: 350px;
    width: 100%;
    background-size: cover !important;
    background-position: center !important;
}

.mt-100- {
    margin-top: -100px;
}
.profile-avatar {
    height: 200px;
    width: 200px;
    border-radius: 100%;
    border: 5px solid rgba(250, 250, 250, 0.6);
    background-size: cover !important;
    background-position: center !important;
}

.edit-btn {
    cursor: pointer;
    opacity: 0.5;
    transition-duration: 0.2s;
}

.edit-btn:hover {
    opacity: 1;
}

.text-justify {
    text-align: justify;
}

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

.dropdown-item:hover {
    background: rgba(250, 250, 250, 0.1);
}

.product-card {
    position: relative;
}

.out-of-stock {
    filter: grayscale(100%);
}

.product-card-image {
    width: 100%;
    height: 350px;
    background-position: center;
    background-size: cover;
}

.shadow-md {
    box-shadow: 0 0 1rem 5px rgba(0, 0, 0, 0.04);
}

.shadow-md-no-hover {
    box-shadow: 0 0 1rem 5px rgba(0, 0, 0, 0.04);
}

.shadow-md:hover {
    box-shadow: 0 0 1rem 10px rgba(0, 0, 0, 0.075);
}

.product-card-inner {
    opacity: 0;
    transition-duration: 0.3s;
    background: rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(70px);
}

.product-card:hover .product-card-inner {
    opacity: 1;
}

.product-card .status {
    position: absolute;
    right: 1rem;
    top: 1rem;
}

.body-section {
    position: relative;
    padding-top: 90px;
    margin-bottom: 50px;
}

.categories-menu {
    display: none;
}

.categories-menu a {
    position: relative;
    transition-duration: 0.1s;
    color: var(--bs-dark);
    padding-right: 15px;
}

.categories-menu a::after {
    position: absolute;
    transition-duration: 0.1s;
    right: 0;
    top: 3px;
    content: '';
    width: 3px;
    height: 15px;
    background: #282828;
}

.categories-menu a:hover {
    color: var(--bs-avisa-primary);
}

.categories-menu a:hover::after {
    background: var(--bs-avisa-primary);
}

.categories-menu.show {
    display: flex;
}

.categories-menu-mobile {
    list-style: none;
    padding-right: 1rem;
}

.categories-menu-mobile li {
    width: 100%;
}

.footer-social-media {
    display: inline-flex;
}

.footer-social-media li {
    margin-right: 0.5rem;
}

.footer-social-media li a {
    font-size: 1.5rem;
    color: black;
    transition-duration: 0.2s;
}

.instagram:hover {
    color: #ffa500;
}

.twitter:hover {
    color: #00a1ff;
}

.telegram:hover {
    color: #3B7AD9FF;
}

.bg-shadow {
    background: rgba(0, 0, 0, 0.02);
}

.footer-tabs li i {
    transition-duration: 0.2s;
}

.footer-tabs li:hover i {
    color: var(--bs-avisa-primary);
}

.product-page-image {
    min-height: 500px;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.card {
    background: white;
}

.gallery-thumb {
    position: relative;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: auto;
    padding: 0;
    cursor: pointer;
    overflow: hidden;
}

.gallery-thumb.last::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(20px);
}

.gallery-thumb.last::after {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0.6rem auto;
    text-align: center;
    content: '...';
    font-size: 2.2rem;
    font-weight: bold;
    color: white;
}

.product-carousel-image {
    height: 70vh;
    width: auto;
}

.product-gallery .modal-content {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
}

.gallery-indicator-item {
    transition-duration: 0.2s;
    cursor: pointer;
    filter: grayscale(100%);
    width: 100%;
    height: auto;
    background-position: center;
    background-size: cover;
}

.gallery-indicator-item.active {
    filter: none;
}

.gallery-carousel .carousel-control {
    color: #000000a1;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    text-align: center;
    background: rgba(250, 250, 250, 1.3);
    top: calc(50% - 25px);
}

.gallery-carousel .carousel-control i {
    margin: 0 auto;
}

.border-dark-1 {
    border-color: rgba(0, 0, 0, 0.05) !important;
}

.post-bit ul li, .post-bit ol li {
    margin-bottom: 0.75rem;
}

.avisa-nav {
    border-bottom: 5px solid rgba(0, 0, 0, 0.075);
    border-right: none;
    border-left: none;
}

.avisa-nav-link {
    transition-duration: 0.2s;
    color: var(--bs-dark);
}

.avisa-nav-link:hover {
    color: var(--bs-avisa-primary);
}

.categories-card {
    height: 200px;
    width: 100%;
    display: flex;
    align-items: center;
    text-align: center;
    background-color: var(--bs-avisa-primary-5);
}

.categories-card-child {
    width: 100%;
    align-items: center;
    text-align: center;
    background-color: var(--bs-avisa-primary-5);
}

.categories-card img {
    width: 75%;
}

.categories-card h3 {
    margin-top: 1rem;
    color: black;
    font-size: 1rem;
}



