@font-face {
    font-family: "Vazir FD";
    src: url("../fonts/ef0d00bc563865136e2c7862189a087bb01d420f32392fbfc08890c907c44997.woff2") format("woff2");
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: "Vazir FD";
    src: url("../fonts/e33b24022ec2dfbb92d5c22da4b3a49925397c0c9dfeea2796b9eb67467172c7.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: "Vazir FD";
    src: url("../fonts/47c66af4381435232bbadc5218cc7750734f01d171202e8242e932dbd6c3149d.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Vazir FD";
    src: url("../fonts/5287509c7520f9c4d3f0cee37c1ee4faf099cafd0c314f18b763a33860c953b2.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "Vazir FD";
    src: url("../fonts/c4db85cb63fadc85c0f1dd39f8fb12f06884ae7d6daa5e83f21966f2b329ba08.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "Vazir FD";
    src: url("../fonts/f1a33789c334dd2126609d0fe55011b55b47e1e0145a03a852fbbc86e065a086.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
}
:root{
    --roundMain: 6px;
    --roundbtn: 6px;
    --roundfilter: 40px;
    --roundadimagemobile: 12px;
    --roundadmobile: 6px;
    --roundadimagedesktop:0px 16px 16px 0px;
    --roundadmobile: 16px;
    --roundaddetailimage: 16px;
    --roundcard: 6px;

}
.sidebar .sidebar-link{
    color: #212529 !important;
}
.navbar-nav{
    --bs-nav-link-color: initial;
}
body {
    background-color: #121212;
    color: #fff;
    /* font-family: 'Vazirmatn', sans-serif; */
    font-family: "Vazir FD", sans-serif;
}
.navbar, .offcanvas, .card, .list-group-item {
    background-color: #1e1e1e;
}
.card {
    border: 1px solid #333;
}
.sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.sidebar-link i {
    font-size: 1.2rem;
}
.btn-danger {
    background-color: #e7434c;
    border: none;
}
.tag {
    font-size: 0.75rem;
    background-color: #333;
    padding: 0.25rem 0.5rem;
    border-radius: 0px;
    display: inline-block;
    margin-top: 0.5rem;
}
.icon-grid .icon-box {
    background: transparent;
    /* color: #fff; */
    text-align: center;
    padding: 1rem;
    transition: background-color 0.2s ease;
    border-radius: var(--roundMain);
}
.icon-grid .icon-box i {
    font-size: 2rem;
    display: block;
    margin-bottom: 0.5rem;
}
.icon-box:hover {
    background-color: #2a2a2a;
    border-radius: 0px;
}
.icon-box[data-color="1"] i { color: #c79288; }
.icon-box[data-color="2"] i { color: #99c794; }
.icon-box[data-color="3"] i { color: #82aaff; }
.icon-box[data-color="4"] i { color: #c3e88d; }
.icon-box[data-color="5"] i { color: #ffcb6b; }
.icon-box[data-color="6"] i { color: #f78c6c; }
.icon-box[data-color="7"] i { color: #a3be8c; }
.icon-box[data-color="8"] i { color: #d3869b; }
.icon-box[data-color="9"] i { color: #fab387; }
.icon-box[data-color="10"] i { color: #89ddff; }
/* ---------- Light mode (پیش‌فرض) ---------- */
:root {
    --bg:           #f7f7f9;
    --surface:      #ffffff;
    --surface-soft: #fafafa;
    --border:       #e4e6eb;
    --text-primary: #212529;
    --text-muted:   #6c757d;
    --accent:       #e7434c;   /* قرمز دیوار */
    --accent-hover: #c9343d;
    --green:        #2cba7d;
    --border-teal: #48c4b780;
}

body {
    background-color: var(--bg);
    color: var(--text-primary);
    /* font-family: 'Vazirmatn', sans-serif; */
    font-family: "Vazir FD", sans-serif;
}

.navbar,
.offcanvas,
.card,
.list-group-item { background-color: var(--surface); }

.card,
.list-group-item { border: 1px solid var(--border); }

.sidebar-link i,
.icon-box i { color: var(--text-primary); }

/* Hoverهای ملایم */
.icon-grid .icon-box:hover { background: var(--surface-soft); border-radius: var(--roundMain) }

.btn-danger      { background: var(--accent);      border: none; }
.btn-danger:hover{ background: var(--accent-hover); }

.list-group-item { transition: background .2s; }
.list-group-item:hover { background: var(--surface-soft); }

/* ---------- Dark mode overrides ---------- */
.dark-theme {
    --bg:           #121212;
    --surface:      #1e1e1e;
    --surface-soft: #2a2a2a;
    --border:       #333;
    --text-primary: #ffffff;
    --text-muted:   #b5b5b5;
    --accent:       #e7434c;
    --accent-hover: #c9343d;
}


.dark-theme .sidebar-link i ,.dark-theme .sidebar-link{ color: #fff !important; }

/* ---------- انیمیشن آیکون سوییچر ---------- */
@keyframes spin {
    0%   { transform: rotate(0deg);   }
    100% { transform: rotate(180deg); }
}
.rotate { animation: spin .4s linear forwards; }

.search-input,.subcat-search{
    background: var(--surface-soft);   /* تو لایت خاکستری روشن، تو دارک #2a2a2a */
    border: none;
    height: 48px;
    border-radius: var(--roundMain);
    color: var(--text-primary);
    padding-inline-end: 1rem;          /* سمت راست (شروع در RTL) */
    padding-inline-start: 3rem;        /* فضا برای آیکون سمت چپ */
    transition: background .2s;
}
.subcat-search{
    border: 1px solid #e4e4e4;
}
.dark-theme .subcat-search{
    border: 1px solid #424242
}

.search-input:focus{
    background: var(--surface);        /* یه درجه تیره‌تر/روشن‌تر */
    box-shadow: none;                  /* حذف خط آبي بوت‌استرپ */
}

.search-input::placeholder{
    color: var(--text-muted);
}

/* ---------- Icon inside input ---------- */
.search-icon{
    left: 1rem;                        /* سمت چپ فیزیکی */
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.25rem;
    color: var(--text-muted);
    pointer-events: none;
}

/* حالت Hover برای حس کلیک (اختیاری) */
.search-input:hover{
    background: var(--surface);        /* ریز تغییر برای بازخورد کاربر */
}
/* حذف مرز و دادن رنگ نرم به لینک‌ها */
.sidebar-link{
    background: transparent;
    border-radius: 0px;
    color: var(--text-primary);
    transition: background .2s;
}
.sidebar-link:hover{ background: var(--surface); }

.sub-nav .sub-link{
    padding-right: 2.5rem;   /* تورفتگی برای RTL */
    cursor: pointer;
}
.sub-nav .sub-link:hover{ background: var(--surface); }
/* ----- دسته‌بندی مدرن ----- */
.cat-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .65rem;
    text-decoration: none;
    color: var(--text-primary);
    transition: transform .2s, box-shadow .2s;
}

.cat-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.cat-icon{
    width: 72px;
    height: 72px;
    border-radius: 0px;
    background: rgba(255,255,255,.15);          /* لایت = شیشه‌ای روشن */
    backdrop-filter: blur(8px) saturate(150%);
    -webkit-backdrop-filter: blur(8px) saturate(150%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: inherit;                             /* آیکون همرنگ متن */
    transition: background .2s;
}

.dark-theme .cat-icon{
    background: rgba(30,30,30,.45);             /* دارک */
}

.cat-title{
    font-size: 17px;
    line-height: 1.35;
    text-align: center;
    font-weight: 600;
    text-align: right;
}
/* ---------- HERO Section ---------- */
.hero-cats{
    position: relative;
    z-index: 2;
}

/* نور پس‌زمینه ملایم برای ایجاد تمایز از بقیه‌ی صفحه */
.hero-cats::before{
    /* content:"";
    position:absolute;
    inset:0;
    background: radial-gradient(circle at center, rgba(231,67,76,.12) 0%, transparent 70%);
    z-index:-1;
    pointer-events:none; */
}

/* ---------- HERO Section ---------- */
.hero-title{
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: var(--text-primary);
}

/* ---------- کارت دسته‌بندی ---------- */
.cat-card{
    --size: 230px;                 /* یکجا کنترل کن */
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: var(--size);
    min-height: 200px;
    padding: 32px 12px 24px;
    border-radius: var(--roundMain);
    background: #ffffff;
    text-decoration: none;
    color: var(--text-primary);
    /* box-shadow: 0 10px 25px rgba(0,0,0,.07); */
    transition: transform .25s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s cubic-bezier(.2,.8,.2,1);
    overflow: hidden;
}

/* هاله‌ی رنگی */
.cat-card::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 0px;
    background: radial-gradient(circle at 70% 85%, var(--tint) 0%, transparent 60%);
    opacity: .35;
    pointer-events: none;
    z-index: 0;
}

/* آیکون سه‌بعدی */
.cat-img{
    width: 84px;
    height: auto;
    object-fit: contain;
    z-index: 1;
}

/* متن */
.cat-label{
    margin-top: 1rem;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    z-index: 1;
}

/* هاور افکت */
.cat-card:hover{
    transform: translateY(-6px) scale(1.04);
    box-shadow: 0 16px 40px rgba(0,0,0,.12);
}

/* ---------- تم تیره ---------- */
.dark-theme .cat-card{
    background: #1e1e1e;
}
.dark-theme .cat-label,.dark-theme .sub-nav .sub-link{
    color: #fff;
}
.sub-nav .sub-link {


    border: none;
}

/* ---------- رنگ هاله برای هر کارت ---------- */
.bg-green { --tint:#36c177; }
.bg-orange{ --tint:#ffb14d; }
.bg-blue  { --tint:#4da6ff; }
.bg-red   { --tint:#ff6a6a; }
.accordion-flush>.accordion-item>.accordion-header .accordion-button, .accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed {
    border-radius: 0px;
}
.accordion-item:first-of-type>.accordion-header .accordion-button {

    border-radius:  0px !important;
}
.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{
    border-radius: 0px !important;
}
.accordion-item {
    border-radius: 0px !important;
}
.btn-new{
    background: var(--green);
}
.btn:hover {
    background-color: var(--green);
}
#themeIcon{
    position: relative;
    top: 1px;
}
#themeToggler{
    border-color: #e1e1e1;
}
.dark-theme #themeToggler{
    border-color: #2f2f2f;
}
.topnav-filters{
    background: #fafafa;
    border-color: #e1e1e1;
    left: -30px !important;
}
.dark-theme .topnav-filters{
    background: #2a2a2a;
    border-color: #2f2f2f;
}
.dark-theme .topnav-filters .dropdown-item{
    color: white;
}

.nav-link:hover ,.navbar-nav .nav-link.active, .navbar-nav .nav-link.show{
    color: inherit !important;
}
.flag-select{
    font-size: 13px;
}
.dropdown-item {

    color: var(--bs-black);
}
.dropdown-item:focus, .dropdown-item:hover {
    color: var(--bs-black);
}
/* ---------- Popular Cities Badges ---------- */
.city-pill{
    display:inline-block;
    padding: .55rem 1.2rem;
    border-radius: 0px;
    background: var(--surface);
    color: #000000;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s, transform .15s;
    border: 1px solid var(--border);
    font-size: 13px;
    font-weight: 100 !important;
}

.city-pill:hover{
    background: var(--green);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

/* حالت دارک */
.dark-theme .city-pill{
    background: var(--surface-soft);
    color: var(--green);
    border-color: var(--border);
}
.roundedline{
    width: 39px;
    height: 7px;
    margin: 10px 0;
    border-radius: var(--roundMain);
    background-color: #424242;
    transition: width 0.2s ease;
    background-color: var(--green);
}
.accordion-button:not(.collapsed) {

    background-color: inherit;
}
.accordion-flush>.accordion-item>.accordion-header .accordion-button, .accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{
    box-shadow: none;
}
.logo-desktop{
    width: 121px;
    margin-left: 20px;
}
.dark-theme .sidebar-link i, .dark-theme .sidebar-link {

    background: #2a2a2a;
}
.dark-theme .accordion-item{
    background: #2a2a2a;
}
.dark-theme .accordion-button::after {

    filter: invert(1);
}
.accordion-flush>.accordion-item:first-child {

    border: none;
}
/* ---------- Box عمومی ---------- */
.cat-box{
    background: var(--surface);
    border-radius : 0px;
    padding: 28px 20px 24px;
    box-shadow: 0 10px 28px rgba(0,0,0,.06);
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    transition: transform .25s, box-shadow .25s;
}
.cat-box:hover{
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,.12);
}

/* ---------- سر کارت ---------- */
.cat-head{
    display: flex;
    align-items: center;
    gap: .9rem;
}
.cat-img{
    width: 56px;
    height: 56px;
    object-fit: contain;
}
.cat-title{
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.4;
}

/* ---------- زیرشاخه‌ها ---------- */
.sub-list{
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.sub-list a{
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .4rem .85rem;
    border-radius: 0px;
    font-size: 15px;
    font-weight: 100;
    background: var(--surface-soft);
    color: var(--text-primary);
    text-decoration: none;
    transition: background .2s, color .2s;
}
.sub-list a i{ font-size: .9rem; }
.sub-list a:hover{
    background: var(--green);
    color: #fff;
}
.hero-cats a{
    color: inherit;
    text-decoration: none;
}
/* ---------- تم تاریک ---------- */
.dark-theme .cat-box{ background: #1e1e1e; }
.dark-theme .sub-list a{ background: #2a2a2a; }

/* ---------- هاله رنگی هر دسته ---------- */
.bg-blue   { --surface: #fff; --surface-soft:#f3f8ff; }
.bg-green  { --surface: #fff; --surface-soft:#f3fff8; }
.bg-orange { --surface: #fff; --surface-soft:#fff7f0; }
.bg-red    { --surface: #fff; --surface-soft:#fff4f4; }

.dark-theme .bg-blue   { --surface:#1e1e1e; --surface-soft:#283043; }
.dark-theme .bg-green  { --surface:#1e1e1e; --surface-soft:#263b31; }
.dark-theme .bg-orange { --surface:#1e1e1e; --surface-soft:#3a2e27; }
.dark-theme .bg-red    { --surface:#1e1e1e; --surface-soft:#3d2727; }
.active>.page-link, .page-link.active {

    background-color: var(--green);
    border-color: var(--green);
}
.page-link {

    color: var(--green);
}
.navbar-expand-lg .navbar-nav .dropdown-menu {

    z-index: 9999;
}
.dark-theme .breadcrumb-item.active,.dark-theme .dropdown-toggle {

    color: white;
}
.dark-theme input::placeholder {
    color: white;
    opacity: 1; /* Firefox */
}

.dark-theme input::-ms-input-placeholder { /* Edge 12 -18 */
    color: white;
}

.dark-theme .text-muted {
    color: white !important;
}
.bottom-nav-bar{
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    min-height: 70px;
    align-items: center;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255);
    padding-top: .75rem;
    padding-bottom: .75rem;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .12);
    z-index: 9999;
    display: none;
    direction: rtl;
}
.dark-theme .bottom-nav-bar{
    background-color:rgb(18 18 18);
    color: white;
}
.bottom-nav-bar .text{
    /* margin-top: 8px; */
    font-size: 13px;
}
.bottom-nav-bar img{
    width: 30px
}
.bottom-nav-bar i{
    font-size: 21px;
}
.bottom-nav-bar .bi-plus{
    background: var(--green);
    border-radius: var(--roundMain);
    height: 27px;
    line-height: 32px;
    font-size: 27px;
    color: white;
    position: relative;
    top: 1px;
    margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
    .bottom-nav-bar{
        display: flex;
    }
    .bottom-nav-bar a {
        display: contents;
        color: inherit;
    }
    .bottom-nav-bar{
        display: flex;
    }
    #catAccordion{
        display: none;
    }
}
.w-full {
    width: 100%;
}
.items-center {
    align-items: center;
}
.flex-col {
    flex-direction: column;
}
.w-full {
    width: 100%;
}
.flex {
    display: flex
}
#profileMenuSheet.offcanvas-bottom{height: 60vh;}
#mobileCategoryMenu.offcanvas-bottom{height: 60vh;margin-bottom: 75px;}
.profile-menu{margin-top:6px}
.profile-menu a{
    display:flex;gap:10px;align-items:center;
    font-size:.935rem;font-weight:600;
    padding-block:10px;padding-inline:12px;
    border-radius:var(--roundMain);color:var(--text-primary);text-decoration:none;
    transition:background .15s;
}
.profile-menu a.active,
.profile-menu a:hover{background: var(--surface-soft);color: var(--teal)}
.profile-menu i{font-size: 1rem;margin-inline-start:2px}
.dark-theme .profile-menu a:hover,
.dark-theme .profile-menu a.active{background:#262626}
.swiper-wrapper{
    margin-bottom: 44px;
}
.dark-theme form .form-control:focus, .form-select:focus {

    background: inherit;
}
.rounded-custom{
    border-radius: 0px;
}
.dark-theme h3{
    color: white;
}
.dark-theme .bg-white{
    background-color: #1e1e1e !important;
}
.dark-theme .details-table div {
    background: #121212;
}
.dark-theme .details-table strong {

    color: #e3e3e3;
}
a {

    text-decoration: none !important;
}
.btn-success{
    background: var(--green);
    border: none;
}
.dark-theme .modal{
    color: black;
}
.main-search-desktop .search-icon{
    margin-top: 2px;
}
/* رنگ تیلی برند (در صورت نداشتن) */
.text-teal  { color:#00897b; }

.suggest-item:hover { background:#f7f7f7; }

/* مرزهای مینیمال و بسیار کم‌رنگ */
#searchSuggest{border-color:#e4e4e4 !important;}
#searchSuggest .border-bottom,
#searchSuggest .border-top   { border-color:#efefef !important; }


.dark-theme #searchSuggest{background:#1c1c1e;border-color:#3a3a3c !important;}
.dark-theme .suggest-item{color:#eaeaea !important;}
.dark-theme .suggest-item:hover{background:#2d2d2f;}
.dark-theme #searchSuggest .border-bottom,
.dark-theme #searchSuggest .border-top{border-color:#333 !important;}
.bodydropdown .dropdown-menu.show{
    inset: 0px 0px auto !important;
}
/* .dark-theme .form-control:focus{
  color:white;
} */
.btn-outline-teal{border:2px solid var(--border-teal);color:var(--text-primary);border-radius:0px;font-weight:600;    font-size: 15px;}
.btn-outline-teal:hover{background:var(--green);color:#fff;border-color:var(--green);}
.dark-theme .btn-outline-teal{color:#fff;}



/* ----- Mobile Search Bar ----- */
.mobile-search-container{
    display:flex;
    align-items:center;
    background:var(--surface);
    border:1px solid #d9d9d9;
    border-radius:var(--roundMain);
    height:48px;
    padding-inline:.75rem;
}

.mobile-search-input{
    flex:1;
    border:none;
    background:transparent;
    font-size:.95rem;
    color:var(--text-primary);
    text-align:right;
}
.mobile-search-input:focus{outline:none;}
.mobile-search-input::placeholder{color:var(--text-muted);}

.mobile-search-container .bi{font-size:1.2rem;color:var(--text-muted);}

.divider{
    width:1px;
    height:60%;
    background:#d0d0d0;
    margin-inline:.5rem;
}

/* حذف فاصلهٔ پیش‌فرض بین آیتم‌های فلکس (gap) */
.mobile-search-wrapper > *{gap:0!important;}
/* ------------ AI Button ------------- */
.ai-btn{
    width: 48px;
    height: 48px;
    border: 1px solid #d9d9d9;
    border-radius: var(--roundMain);
    background: var(--surface);
    display: flex;
    align-items: center;
    justify-content: center;
}
.ai-btn .bi{font-size: 1.4rem; color: var(--text-muted);}

.beta-badge{
    font-size: .6rem;
    padding: .1rem .45rem;
    border-radius: 0px;
}

/* ----------- Mobile Search ---------- */
.mobile-search-wrapper{
    display:flex;
    align-items:center;
    padding-right: 0 !important;
    padding-left: 0px !important;
}

.mobile-search-container{
    display:flex;
    align-items:center;
    background:var(--surface);
    border:1px solid #d9d9d9;
    border-radius:0px;
    height:48px;
    padding-inline:.75rem;
    width:100%;
}

.mobile-search-input{
    flex:1;
    border:none;
    background:transparent;
    font-size:.95rem;
    color:var(--text-primary);
    text-align:right;
}
.mobile-search-input:focus{outline:none;}
.mobile-search-input::placeholder{color:var(--text-muted);}

.mobile-search-container .bi{
    font-size:1.25rem;
    color:var(--text-muted);
}

.divider{
    width:1px;
    height:60%;
    background:#d0d0d0;
}
/* مطمئن شو ظرف جستجو، overflow را قطع نمی‌کند */
.mobile-search-wrapper,
.mobile-search-container{
    overflow: visible;
}
/* ---------- Mobile Suggest Box ---------- */
#searchSuggestMobile{
    border-color:#e4e4e4 !important;      /* مرز کم‌رنگ دسکتاپ */
    border-radius:0 0 0px 0px;          /* گرد فقط در پایین، مثل اسکرین‌شات */
    margin-top:0;                         /* بدون فاصله از سرچ‌بار */
    background:#fff;
}
#searchSuggestMobile .border-bottom,
#searchSuggestMobile .border-top{border-color:#efefef !important;}

/* حالت Hover برای هر آیتم (استایل دسکتاپ قبلاً دارد) */
.suggest-item:hover{background:#f7f7f7;}

/* ---------- Dark-Theme ---------- */
.dark-theme #searchSuggestMobile{
    background:#1c1c1e;
    border-color:#3a3a3c !important;
}
.dark-theme #searchSuggestMobile .border-bottom,
.dark-theme #searchSuggestMobile .border-top{border-color:#333 !important;}
/* جعبهٔ بازشده روی هر چیز دیگری باشد */
#searchSuggestMobile.show{
    display: block !important;          /* مهم: در برخی نسخه‌های BS لازم است */
    position: absolute;
    z-index: 1050;           /* بالاتر از عناصر nav */
    max-height: 50vh;        /* اسکرول عمودی بعد از نصف ارتفاع */
    overflow-y: auto;
    border-radius: 0 0 0px 0px;
}

/* -------- City Picker -------- */
#cityPicker .list-item{
    display:flex; align-items:center; justify-content:space-between;
    padding: .75rem 1rem; cursor:pointer;
}
#cityPicker .list-item + .list-item{border-top:1px solid #eaeaea;}
#cityPicker .list-item:hover{background:#1d1d1f;}

#cityPicker .checkbox-square{
    width:20px; height:20px; border:2px solid #d95363; border-radius:var(--roundMain);
    display:flex; align-items:center; justify-content:center;
}
#cityPicker .checkbox-square.checked{
    background:#d95363;
}
#cityPicker .checkbox-square.checked::after{
    content:""; width:10px; height:6px; border:2px solid #fff;
    border-top:none; border-right:none; transform:rotate(-45deg);
}

.city-chip{
    padding:.25rem .75rem; border:1px solid #d95363; border-radius:0px;
    color:#d95363; display:flex; align-items:center; gap:.5rem;
    font-size:.85rem;
}
.city-chip i{cursor:pointer;}

/* -------- City Picker (Light mode) -------- */
#cityPicker{
    background:#fff;
    color:#212529;
}
#cityPicker .border-top,
#cityPicker .border-bottom{border-color:#e9ecef!important;}

#cityPicker .list-item{background:#fff;}
#cityPicker .list-item:hover{background:#f8f9fa;}
#cityPicker .checkbox-square{border-color:var(--green);}
#cityPicker .checkbox-square.checked{background:var(--green);}

#clearAllCities{color:var(--green);text-decoration: none;}
.city-chip{border-color:var(--green);color:var(--green);}

/* -------- Dark theme overrides -------- */
.dark-theme #cityPicker{
    background:#1d1d1f;
    color:#fff;
}
.dark-theme #cityPicker .border-top,
.dark-theme #cityPicker .border-bottom{border-color:#2b2b2d!important;}

.dark-theme #cityPicker .list-item{background:#1d1d1f;}
.dark-theme #cityPicker .list-item:hover{background:#2b2b2d;}
.dark-theme #cityPicker .checkbox-square{border-color:var(--green);}
.dark-theme #cityPicker .checkbox-square.checked{background:var(--green);}

.dark-theme #clearAllCities{color:var(--green);}
.dark-theme .city-chip{border-color:var(--green);color:var(--green);}
/* ارتفاع نوار ناوبری ثابت موبایل را این‌جا تنظیم کن */
:root{
    --mobile-nav-h: 56px;
}

/* Footer در CityPicker همیشه بالای Bottom-Nav می‌چسبد */
#cityPickerFooter{
    position: sticky;
    bottom: calc(var(--mobile-nav-h) + 0.5rem);  /* نیم‌ریم فاصلهٔ دیداری */
    background: inherit;   /* همان رنگ پس‌زمینهٔ مود فعلی */
    z-index: 20;           /* بالاتر از اسکرول‌بار داخلی */
}

/* فضای خالی در انتهای لیست تا محتوا زیر Footer پنهان نشود */
#cityListWrapper::after{
    content:"";
    display:block;
    height: calc(var(--mobile-nav-h) + 4rem); /* ارتفاع Footer + فاصله */
}

/* ارتفاع Bottom-Nav (برای Footer sticky) */
:root{ --mobile-nav-h:56px; }

/* ---------- لایت-مود (پیش‌فرض) ---------- */
.city-picker{
    background:#fff;
    color:#212529;
}
/* نوار بالا و پایین */
.city-picker .border-top,
.city-picker .border-bottom{border-color:#e9ecef!important;}

/* آیتم‌های لیست */
.city-picker .list-item{
    display:flex;align-items:center;justify-content:space-between;
    padding:.75rem 1rem;cursor:pointer;background:#fff;color:#212529;
}
.city-picker .list-item + .list-item{border-top:1px solid #e9ecef;}
.city-picker .list-item:hover{background:#f8f9fa;}

/* مربع تیک */
.city-picker .checkbox-square{
    width:20px;height:20px;border:2px solid var(--green);border-radius:0px;
    display:flex;align-items:center;justify-content:center;
}
.city-picker .checkbox-square.checked{
    background:var(--green);
}
.city-picker .checkbox-square.checked::after{
    content:"";width:10px;height:6px;border:2px solid #fff;
    border-top:none;border-right:none;transform:rotate(-45deg);
}

/* چیپ‌ها و «حذف همه» */
.city-picker .city-chip{border:1px solid var(--green);color:var(--green);
    padding:.25rem .75rem;border-radius:0px;
    display:flex;align-items:center;gap:.5rem;font-size:.85rem;}
#clearAllCities{color:var(--green);}

/* ورودی جستجو */
.city-picker input.form-control{
    background:#fff;color:#212529;border:1px solid #ced4da;
}
.city-picker .bi-search{color:#6c757d;}

/* Footer sticky بالای Bottom-Nav */
#cityPickerFooter{
    position:sticky;
    bottom:calc(var(--mobile-nav-h) + .5rem);
    background:inherit;
    z-index:20;
}
/* فضای انتهای لیست */
#cityListWrapper::after{
    content:"";display:block;height:calc(var(--mobile-nav-h) + 4rem);
}

/* ---------- دارک-مود ---------- */
.dark-theme .city-picker{
    background:#1d1d1f;color:#f1f1f1;
}
.dark-theme .city-picker .border-top,
.dark-theme .city-picker .border-bottom{border-color:#2b2b2d!important;}

.dark-theme .city-picker .list-item{
    background:#1d1d1f;color:#f1f1f1;
}
.dark-theme .city-picker .list-item:hover{background:#2b2b2d;}

.dark-theme .city-picker .checkbox-square{border-color:var(--green);}
.dark-theme .city-picker .checkbox-square.checked{background:var(--green);}

.dark-theme #clearAllCities{color:var(--green);}
.dark-theme .city-picker .city-chip{border-color:var(--green);color:var(--green);}

.dark-theme .city-picker input.form-control{
    background:#2b2b2d;color:#f1f1f1;border:1px solid #3a3a3c;
}
.dark-theme .city-picker .bi-search{color:#9ca0a6;}
.dark-theme #cityPicker .list-item + .list-item {
    border-top: 1px solid #3d3d3d;
}
.navbar{
    z-index: 3;
    position: relative;
}
.navbar li {
    cursor: pointer;

}

@media screen and (max-width: 768px) {
    .row>* {
        margin-top: 25px;
    }
    .cat-card{
        min-height: 137px;
        padding: 13px 12px 13px;
        gap: .1rem;
    }
    .cat-label {
        margin-top: 14px;
        font-size: 16px;
    }
    .mt-sm-10{
        margin-top: 10px !important;
    }
    .mb-sm-10{
        margin-top: 10px !important;
    }
    .icon-grid .icon-box{
        font-size: 15px;
        padding: 1px;
    }
    body {

        padding-bottom: 65px;
    }
    .modal{
        z-index: 99999;
    }
    .swiper-slide, swiper-slide{
        /* padding-right: 8px;
        padding-left: 9px; */
    }
    .hr-sm{
        margin-top: 0px !important;
        margin-bottom: 0px !important;
    }
    .d-small-none{
        display: none !important;
    }
    .result-topbar{
        margin-bottom: 0 !important;
    }
    .mt-sm-0{
        margin-top: 0 !important;
    }
    .result-topbar-div{
        margin-top: -16px !important;
    }

}
#mapWrap{height:calc(100vh - 130px)}           /* ارتفاع تا قبل از فوتر */
@media (max-width: 991.98px){


    /* ارتفاع اولیهٔ نقشه (حدود 60٪) */
    #mapWrap{ height:45vh; transition:height .35s ease; }

    /* وقتی کاربر نقشه را نگه‌می‌دارد → fullscreen */
    #mapWrap.fullscreen{ height:645px; }

    /* ستون آگهی‌ها (روی نقشه می‌نشیند) */



    #listingContent{
        background: white;
        padding-top: 10px;
        padding-bottom: 105px;
    }
    .dark-theme #listingContent{
        background:#1b1b1b;
        color:#eee;
    }
    #listingCol{
        position:relative;

        max-height:55vh;
        overflow-y:auto;
        border-top-left-radius:16px;
        border-top-right-radius:16px;
        margin-top:-13vh;          /* ↙️ دقیقاً تا میانهٔ نقشه می‌آید */
        transition:transform .35s ease,max-height .35s ease;
    }

    /* لیست در حالتِ «پنهان» (نقشهٔ تمام‌صفحه) */
    #listingCol.hidden{ transform:translateY(calc(2% - 48px)); } /* فقط هدر دیده شود */

    /* لیست در حالتِ «تمام‌صفحه» */
    #listingCol.full{
        position:fixed; inset:0; z-index:80;
        max-height:100vh; margin-top:0;
        border-radius:0;
    }

    /* دکمهٔ شناور نقشه */
    #mapToggleBtn{
        position:fixed; bottom:90px; right:50%; transform:translateX(50%);
        padding:.55rem 1.6rem; border:none; border-radius:0px;
        background:#e7434c; color:#fff; font-weight:700;
        box-shadow:0 4px 12px rgba(0,0,0,.15);
        z-index:90; display:none;
    }
    #mapWrap{              /* نقشه پشتِ لیست بماند */
        position:relative;
        z-index:1;
        overflow:hidden;     /* گوشه‌های گرد در اسکرین‌شات 1 */
    }

    #listingCol{           /* لیست همیشه رو باشد */
        position:relative;
        z-index:5;           /* بالاتر از mapWrap */
    }
    .w-sm-100{
        width: 100% !important;
    }
    .m-small-0{
        margin: 0!important;
    }
    .submit-group-flex{
        display: inline-flex;
        gap: 34px;
    }
    .pt-sm-3{
        padding-top: 1rem !important;
    }

}
.dark-theme .seller-info{
    /* background-color: #1e1e1e !important; */
}
.dark-theme .text-dark-emphasis {
    color: #ffffff !important;
}
.dark-theme .btn-outline-dark{
    border-color: white;
    color: white;
}
.profile-menu .bi-chevron-right{margin-right:auto;font-size:.9rem;color:var(--text-muted);}
.menu-locale .list-group-item i.bi-chevron-right{font-size:.8rem;color:var(--text-muted);}
.btn-gradient{
    background: linear-gradient(90deg,#ff7a00 0%,#ff4d00 100%);
    color:#fff!important;font-weight:700;border:none;border-radius:0px;
    box-shadow:0 4px 14px rgba(255,122,0,.35);padding:.6rem 1.6rem;
    transition:opacity .2s;
}
.btn-gradient:hover{opacity:.85}
.dark-theme h5,.dark-theme .list-group-item,.dark-theme .offcanvas{
    color:white
}
.cu-pointer{
    cursor: pointer;
}
.dark-theme .swiper-pagination-bullet{
    background: #ffffff;
}

.swiper-pagination-clickable .swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    border-radius: 16px;
}
.swiper-pagination-bullet-active{
    background: #2bba7d !important;
}
.dark-theme .chat-sidebar{
    background: #121212 !important;
}
.dark-theme .chat-list-user.active,.dark-theme .chat-list-user:hover {
    background: #1e1e1e;
}
.dark-theme  .chat-list-user .sidebar-user-content .user-name,.dark-theme .sidebar-header,.dark-theme .filter-nav a{
    color:white;
}

.chat-list-user{
    border: 1px solid #ebebeb !important;
}
.dark-theme .chat-list-user{
    border: 1px solid #353535 !important;
}
.dark-theme .chat-main-header{
    background: #1e1e1e;
    color: white;
    border: none;
}
.dark-theme #chatMessagesWrap{
    background: #121212;
}
.dark-theme .chat-message {
    background: #252525;
    color: #ffffff;
    border: none;
    box-shadow: none !important;
}
.dark-theme .chat-message-row.me .chat-message {
    background: #3a307f;
    color: white;
}
.dark-theme .chat-input-row {

    background: #1e1e1e;
    border: none;
}
.dark-theme .chat-input-row input[type="text"] {

    background: #121212;
    color: white;
}
.sidebar-search input{
    border: 1px solid #dbdbdb !important;
}
.dark-theme .sidebar-search input {

    background: #1e1e1e;
    color: #ffffff;
    border: 1px solid #7f7f7f !important;
}
.dark-theme .post-card {
    background: #1e1e1e;
}
.dark-theme .pagination{
    --bs-pagination-bg: #1e1e1e;
    --bs-pagination-border-color: #313131;
}
.dark-theme .disabled>.page-link,.dark-theme .page-link.disabled{
    color: rgb(171 171 171 / 75%);

    background-color: #1e1e1e;
    border-color: #313131;
}
.dark-theme #themeToggler {

    color: white;
}
.dark-theme .leaflet-layer,
.dark-theme .leaflet-control-zoom-in,
.dark-theme .leaflet-control-zoom-out,
.dark-theme .leaflet-control-attribution {
    filter: invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%);
}
.dark-theme .leaflet-container {
    background: #000
}
.form-check-input:checked {
    background-color: #2bba7d;
}
.agahi-chat{
    display: flex;
}
.agahi-chat img{
    margin-left: 10px;
}
.agahi-chat .file-name{
    color: white;
}
.agahi-chat .file-type{
    text-align: right;
}
#link-agahi-chat{
    margin-bottom:0;cursor:pointer
}
#link-agahi-chat i{
    font-size: 20px;
}
.dark-theme #link-agahi-chat i{
    color: white;
}
.btn{
    border-radius: var(--roundbtn);
}
/* cityPicker همیشه فول‌اسکرین و روی همه‌چیز */
#cityPicker.offcanvas {
    height: 100vh !important;
    max-height: 100vh !important;
    inset: auto 0 0 0;            /* bottom offcanvas با پوشش کامل */
    --bs-offcanvas-zindex: 2147483647; /* بالاترین z-index ممکن */
}

/* هدر ثابت داخل پنجره (اگر sticky-top دادی) */
#cityPicker .sticky-top {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--surface, #111); /* با تم شما هماهنگ */
}
/* وقتی پنجره انتخاب شهر در دسکتاپ باز است */
@media (min-width: 992px){
    /* پدینگ اضافه برای محتوای داخلی */
    #cityPicker.is-desktop {
        padding: 20px 500px 20px 500px !important;
    }

    /* Footer بالاتر بایستد، نه چسبیده به پایین */
    #cityPicker.is-desktop #cityPickerFooter{
        position: sticky;
        bottom: 12vh !important; /* اگر می‌خوای کمتر/بیشتر بالا بیاد این رو کم‌وزیاد کن */
        background: inherit;     /* هم‌رنگ پس‌زمینه باقی بماند */
        z-index: 2;
    }
}
/* ====== Footer ====== */
#siteFooter{ background: var(--surface);    border-radius: var(--roundMain); }
#siteFooter .footer-brand span{ color: var(--text-primary); }
#siteFooter .text-muted{ color: var(--text-muted)!important; }
#siteFooter .footer-links li{ margin-bottom:.4rem; }
#siteFooter .footer-links a{
    color: var(--text-primary);
    text-decoration: none;
}
#siteFooter .footer-links a:hover{ color: var(--green); }
#siteFooter .trust-badge{
    height: 96px; width: auto; object-fit: contain;
    filter: none; /* در صورت نیاز grayscale بده */
}
.dark-theme #siteFooter{ background: var(--surface); }
/* ====== Ads Tabs ====== */
.ads-catbar{
    /* background: var(--surface); */
    border-bottom: 1px solid var(--border);
    padding: 8px 0 0;
    overflow: hidden;
}
.ads-catscroller{
    display: flex; gap: 36px;
    overflow-x: auto; overflow-y: hidden;
    scrollbar-width: none; -ms-overflow-style: none;
    padding: 0 56px 12px;            /* جا برای دکمه‌های چپ/راست */
}
.ads-catscroller::-webkit-scrollbar{ display:none; }

.ads-cat{
    background: transparent;
    border: 0;
    outline: 0;
    color: var(--text-primary);
    font-weight: 400;
    font-size: 17px;
    padding: 3px 0;
    white-space: nowrap;
    position: relative;
    padding: 4px 10px;
}
.ads-cat[aria-selected="true"]::after{
    content:""; position:absolute; left:0; right:0; bottom:-1px;
    height:3px; background: var(--text-primary); border-radius:3px;
    display: none;
}

/* دکمه‌های اسکرول چپ/راست */
.ads-cat-btn{
    position: absolute; top: 0; bottom: 0;
    width: 44px; border: none; background: linear-gradient(90deg, var(--surface), transparent);
    color: var(--text-primary); z-index: 2;
    display: flex; align-items: center; justify-content: center;
}
.ads-cat-btn.prev{ right: 0; transform: scaleX(-1); } /* RTL */
.ads-cat-btn.next{ left: 0; background: linear-gradient(270deg, var(--surface), transparent); }
.ads-cat-btn i{ font-size: 1.25rem; opacity: .75; }
.ads-cat-btn:disabled{ opacity: .35; pointer-events: none; }

/* (اختیاری) استیکی زیر هدر پروفایل */
#adstabSticky{ position: sticky; top: 0; z-index: 2; }

.dark-theme .ads-catbar{
     /* background: var(--surface); border-color: var(--border); */
     }
.dark-theme .ads-cat-btn{ color: var(--text-primary); }
/* کارت‌های غیرمنتخب را محو کن، ولی حذف نکن */
.ad-item.is-dimmed{
    opacity:.45;
    filter:saturate(.6) contrast(.95);
    transition:opacity .2s ease, filter .2s ease, transform .2s ease;
}
.cat-badge{background:#e7f5e8!important;color:#1b8f65!important;border-radius:0px;padding:4px 12px;font-weight:600;font-size:.75rem;}
/* .btn-outline-teal{border:1px solid #1b8f65;color:#1b8f65}.btn-outline-teal:hover{background:#1b8f65;color:#fff} */
.text-teal{color:#1b8f65}.text-teal:hover{color:#13684a}
.feature-card img{height:140px;object-fit:cover}.feature-card .arrow{font-size:1.25rem}
.news-item img{width:90px;height:70px;object-fit:cover}
.news-title{font-size:.95rem;font-weight:600;color:#212529;line-height:1.6}
.news-meta{font-size:.8rem;color:#6c757d}
.news-item:hover .news-title{color:#1b8f65}
.mb-7{margin-bottom:5rem!important}
/* سه خط حداکثر */
.line-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dark-theme .news-title {

    color: white;
}
/* ===== Stories Bar ===== */
.stories-scroller{
    display:flex; gap:16px; overflow-x:auto; padding:6px 2px 12px;
    scrollbar-width:none; -ms-overflow-style:none;
}
.stories-scroller::-webkit-scrollbar{ display:none; }

.story-item{
    position:relative; flex:0 0 auto;
    width: 120px;
    height: 170px;
    border:none; padding:0;
    border-radius:var(--roundMain);
    overflow:hidden; cursor:pointer;
    background: var(--surface); box-shadow:0 6px 16px rgba(0,0,0,.08);
    transition: transform .2s;
}
.story-item:hover{ transform: translateY(-2px); }

.story-bg{
    width:100%; height:100%; object-fit:cover; display:block; filter:brightness(0.9) blur(3px);
}
.story-avatar{
    position:absolute; bottom:12px; right:12px;
    width: 50px;
    height: 50px;
     border-radius:50%;
    border:1px solid #0c6f63; object-fit:cover; box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.story-name{
    position:absolute; top:10px; right:12px; left:12px;
    color:#fff; font-weight:800; text-shadow:0 2px 8px rgba(0,0,0,.55);
    text-align:right; font-size:13px;
}

/* ===== Story Modal ===== */
.story-modal{
    background: radial-gradient(1200px 600px at 50% 50%, #003c35, #001e1a 60%, #000 100%);
    border: none;
}
.story-close{
    position:absolute; top:14px; left:14px; z-index:30; border-radius:50%;
    width:38px; height:38px; display:flex; align-items:center; justify-content:center;
}
.story-progress{
    position:absolute; top:14px; right:14px; left:64px; height:4px; display:flex; gap:6px; z-index:20;
}
.story-progress .seg{
    flex:1; background:rgba(255,255,255,.25); border-radius:6px; overflow:hidden;
}
.story-progress .seg .fill{
    width:0%; height:100%; background:#fff; transition:width .1s linear;
}

.story-header{
    position:absolute; top:26px; right:18px; z-index:25; display:flex; align-items:center; gap:10px;
    color:#fff;
}
.story-header .hdr-avatar{ width:42px; height:42px; border-radius:50%; object-fit:cover; }
.story-header .hdr-name{ font-weight:800; }
.story-header .hdr-company{ font-size:.9rem; }

.story-stage{
    width:100%; height:100vh; display:flex; align-items:center; justify-content:center; position:relative;
    padding: 64px 0 32px;
}
.story-canvas{
    width:min(420px, 90vw);
    height:min(calc(90vh - 90px), 740px);
    aspect-ratio: 9/16;
    background:#000; border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.story-canvas img.story-img,
.story-canvas video{
    width:100%; height:100%; object-fit:cover; display:block;
}

.story-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:56px; height:56px; border-radius:50%; border:none; background:rgba(255,255,255,.14);
    color:#fff; display:flex; align-items:center; justify-content:center; z-index:26;
    backdrop-filter: blur(6px);
}
.story-nav:hover{ background:rgba(255,255,255,.22); }
.story-nav.prev{ left: calc(50% + 250px); }
.story-nav.next{ right:  calc(50% + 250px); }
@media (max-width:1200px){
    .story-nav.prev{ right: 12px; }
    .story-nav.next{ left: 12px; }
}
/* شِل دو ستونه: استیج + پنل راست */
/* شِل دو ستونه: استیج + پنل راست */
/* ===== Shell: استیج + پنل راست ===== */
.story-shell{
    height: 100vh;
    display: grid;
    grid-template-columns: minmax(280px, 420px) 360px;
    gap: 28px;
    justify-content: center;
    align-items: start;          /* ⬅️ از بالا تراز شوند */
    padding: 64px 28px 32px;     /* بالا با نوار پیشرفت هماهنگ */
}
/* استیج: دیگر padding-top ندارد تا لبهٔ بالایی استوری با پنل یکی شود */
/* .story-stage{
  width:100%; height:100vh;
  display:flex; align-items:center; justify-content:center;
  position:relative;
  padding: 0 0 32px;
} */
@media (min-width: 1200px){
    .story-stage{
        width:100%; height:100%;
        display:flex; align-items:flex-start; justify-content:center;
        position:relative; padding: 0 0 32px;   /* فقط پایین */
    }
}

/* پنل راست فقط در دسکتاپ */
@media (max-width: 1199.98px){
    .story-shell{ grid-template-columns: 1fr; }
    .story-side{ display:none; }
}


/* پنل اطلاعات سمت راست */
/* پنل اطلاعات سمت راست (همان قبلی، بدون تغییر فانکشنال) */
.story-side .side-card{
    width: 360px; max-width: 90vw;
    background: radial-gradient(600px 400px at 50% 0%, rgba(255,255,255,.08), rgba(255,255,255,.02));
    border-radius: 16px;
    padding: 22px;
    color: #fff;
    box-shadow: 0 10px 40px rgba(0,0,0,.35);
}
.side-avatar{
    width: 110px; height: 110px; border-radius: 50%; object-fit: cover;
    display: block; margin: 0 auto 12px auto; box-shadow: 0 6px 18px rgba(0,0,0,.4);
}
.side-name{ font-weight: 800; font-size: 1.25rem; text-align: center; }
.side-company{ text-align: center; }

/* کنترل‌های روی استیج */
.story-ctrls{
    position: absolute; top: 16px; left: 16px; z-index: 28;
    display:flex; gap:8px;
}
.ctrl-btn{
    width:38px; height:38px; border-radius:50%; border:none;
    background: rgba(255,255,255,.16); color:#fff;
    display:flex; align-items:center; justify-content:center;
    backdrop-filter: blur(6px);
}
.ctrl-btn:hover{ background: rgba(255,255,255,.24); }
/* ===== داخل کادر استوری ===== */
/* ===== داخل کادر استوری ===== */
.story-canvas{ position: relative; }

/* باکس آگهی پایین استوری – دکمه‌ها در پایین باکس */
.story-footer{
    position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 27; pointer-events: auto;
}
.story-footer .box{
    display: grid;
    grid-template-columns: 56px 1fr;
    grid-template-rows: auto auto; /* ردیف ۱: اطلاعات، ردیف ۲: دکمه‌ها */
    column-gap: 12px; row-gap: 6px;
    padding:10px; border-radius:14px; color:#fff;
    background: rgba(0,0,0,.35); backdrop-filter: blur(8px);
}
.story-footer .thumb{
    grid-row: 1 / span 2; grid-column: 1;
    width:56px; height:56px; border-radius:10px; object-fit:cover;
}
.story-footer .meta{
    grid-column: 2; grid-row: 1; min-width:0;
}
.story-footer .price{ font-weight:800; }
.story-footer .title{ font-weight:700; }
.story-footer .sub, .story-footer .feat{ font-size:.9rem; opacity:.9; }

.story-footer .actions{
    grid-column: 2; grid-row: 2;
    display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-start;
}
.story-footer .btn-mini{
    border:none; border-radius:10px; padding:8px 12px; color:#fff;
    background: rgba(255,255,255,.15);
}
.story-footer .btn-mini:hover{ background: rgba(255,255,255,.25); }

/* ===== تمام‌صفحه و بدون اسکرول در موبایل ===== */
#storyModal .modal-dialog,
#storyModal .modal-content.story-modal{ height: 100vh; }
#storyModal .modal-content.story-modal{ overflow: hidden; }  /* خود مودال اسکرول نداشته باشد */
.modal-open .modal{ overflow-y: overlay; }                    /* Bootstrap بدنۀ صفحه را قفل می‌کند */

@media (max-width: 1199.98px){
    .story-nav.next {
        left: calc(50% + 250px);
        right: auto;
    }
    .story-shell{ grid-template-columns: 1fr; padding: 0; }
    .story-side{ display:none; }             /* پنل راست فقط دسکتاپ */
    .story-stage{ height: 100vh; align-items:stretch; padding:0; }
    .story-canvas{
        width: 100vw; height: 100vh;           /* استوری تمام‌صفحه */
        border-radius: 0;                       /* لبه‌ها صاف مثل موبایل */
    }
    .story-progress{ top: 12px; right: 12px; left: 12px; }
    .story-close{ top: 10px; left: 10px; }
    .story-nav.prev{ right: 8px; }
    .story-nav.next{ left: 8px; }
    .story-ctrls{

        top: 56px;
        left: 11px;
    }
}
.story-close i{
    position: relative;
    top: 1px;
}
.sticky-top{
    z-index: 1;
}
.user-media-box .main-overlay-play{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    background: rgba(0,0,0,.18); color:#fff; font-size:64px; border:0; cursor:pointer;
}
.user-media-box .main-overlay-play:hover{ background: rgba(0,0,0,.28); }
.user-media-box .thumb-frame{ min-width:220px; }
.user-media-box .thumb-play{
    position:absolute; inset:auto 8px 8px auto; background:rgba(0,0,0,.55);
    color:#fff; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}
/* پنل محله‌ها که زیر هر شهر باز می‌شود */
#cityPicker .districts-panel{
    background: var(--surface-soft);
    border-top: 1px dashed var(--border);
    padding: .5rem 1rem 1rem;
    /* تورفتگی بصری زیر آیتم شهر */
    margin-top: -6px;
}

#cityPicker .districts-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem 1rem;
    padding-top: .25rem;
}
@media (min-width: 768px){
    #cityPicker .districts-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

#cityPicker .dist-item{ cursor: pointer; user-select: none; }
#cityPicker .dist-item input{ margin-left: .35rem; }
/* پنل محله‌ها */
#cityPicker .districts-panel{
    background: var(--surface-soft);
    border-top: 1px dashed var(--border);
    padding: .5rem 1rem 1rem;
    margin-top: -6px;
}

/* نوار جستجو (بالای "همه محله‌ها") */
#cityPicker .districts-search{
    margin: -.5rem -1rem .75rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--border);
    background: var(--surface-soft);
    position: sticky; top: 0; z-index: 1; /* داخل پنل، بالاش بچسبد */
}
#cityPicker .districts-search .form-control{
    background: var(--surface);
    border-color: var(--border);
}

/* "همه محله‌ها" */
#cityPicker .all-row{
    padding-bottom: .5rem;
}

/* لیست محله‌ها (۱۰۱٪ تمام‌عرض) */
#cityPicker .districts-list{ margin:0; padding:0; list-style:none; }
#cityPicker .districts-list li{ list-style:none; }

#cityPicker .districts-list .dist-item{
    display:flex; align-items:center; justify-content:space-between;
    width:100%;
    padding:.5rem .25rem;
    border-radius:8px;
    cursor: pointer;
}
#cityPicker .districts-list .dist-item:hover{
    background: var(--surface);
}
#cityPicker .dist-item input{ margin-left:.35rem; }

/* نشانگر کلیک روی آیکن/متن موجود */
.bottom-nav-bar #mobile-explorer-trigger{ cursor: pointer; }
/* پنجرهٔ اکسپلور موبایل */
#mobileExplorer.offcanvas-bottom{
    height: 60vh;
    margin-bottom: var(--mobile-nav-h, 56px);  /* با نوار پایین تداخل نکند */
    /* z-index: 2147483646; */
    z-index: var(--bs-offcanvas-zindex);
}

/* کمی فضا برای آیتم‌ها در موبایل */
.sidebar-cats-mobile .accordion-button{ padding-top:.85rem; padding-bottom:.85rem; }
.sidebar-cats-mobile .sub-list a{ color: var(--text-primary); }
.sidebar-cats-mobile .sub-list a:hover{ color: var(--green); }
.bottom-nav-bar #mobile-explorer-trigger{ cursor: pointer; }
/* ردیف‌های منو در شیت */
.profile-menu .menu-row{
    border-radius: 0; background: transparent;
    border-bottom: 1px solid var(--border, #eee);
}
.profile-menu .menu-row:hover{
    background: var(--surface, #fafafa);
}
/* دکمه پخش ویدیو */
.ad-gallery .ad-play-btn{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    background: rgba(0,0,0,.25);
    color:#fff; border:0; cursor:pointer;
    font-size: 34px;
}
.ad-gallery .ad-play-btn:hover{ background: rgba(0,0,0,.35); }
.ad-gallery .video-slide{
    height: 100%;
}
.ad-meta i{
    font-size: 17px;
    margin-left: 2px;
    position: relative;
    top: 1px;
}
/* رسپانسیو: در موبایل بندانگشتی کمی بزرگ‌تر شود (اختیاری) */
@media (max-width: 576px){
    .ad-gallery{ flex-basis: 190px; width:190px; height:140px; }
}
@media screen and (max-width: 768px) {
    .ad-gallery .swiper-slide, swiper-slide {
        padding-right: 0px;
        padding-left: 0px;
    }
}
/* قاب و شِبه گوگل */
#mapWrap{
    border-radius: 0px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* کنترل‌های گرد مثل گوگل */
.leaflet-top.leaflet-right .leaflet-control { margin-right: 12px; }
.leaflet-control-zoom, .gmap-control, .maptype-control{
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.leaflet-bar a, .gmap-control .btn, .maptype-control .btn{
    display:flex; align-items:center; justify-content:center;
    width: 40px; height: 40px;
    background: #fff; color:#333; border:1px solid rgba(0,0,0,.08);
    border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,.08);
    margin-bottom: 8px;
}
.leaflet-bar a:hover, .gmap-control .btn:hover, .maptype-control .btn:hover{
    background:#f6f8fa; color:#000;
}

/* کنترل انتخاب نوع نقشه (نقشه/ماهواره) */
.maptype-control{
    display:flex; gap:8px;
}
.maptype-control .btn{
    width:auto; padding: 0 12px; height: 36px; border-radius: 18px;
    font-size:.9rem;
}
.maptype-control .btn.active{
    background:#1a73e8; color:#fff; border-color:#1a73e8;
}

/* دکمه مکان من */
.gmap-control .btn i{ font-size: 18px; }
/* ===== Tech Info modal layout ===== */
/* فقط لایه‌بندی اطلاعات – بدون هیچ استایل روی Swiper */
.tech-modal .modal-body { padding: 0; }
.tech-spec-body { padding: 12px 16px 20px; }

.tech-modal .spec-row{
    /* display:grid;
    grid-template-columns: 220px 1fr; */
    gap:16px;
    align-items:start;
    padding:14px 0;
}
.tech-modal .spec-title{ font-weight:700; color:#111; padding-top:6px; }
.tech-modal .kv-grid{ display:grid; gap:32px 18px; }
.tech-modal .kv-grid.kv-2{ grid-template-columns: repeat(2,minmax(0,1fr)); }
.tech-modal .kv-grid.kv-3{ grid-template-columns: repeat(3,minmax(0,1fr)); }
.tech-modal .kv{ padding:0; }           /* بدون باکس/بوردر */
.tech-modal .k-label{ font-size:.86rem; color:#667085; margin-bottom:2px; }
.tech-modal .k-value{ font-weight:600; color:#111; }

/* فقط برای تصویر گواهی (نه خود Swiper) تا کش نیاید */
.cert-img{ width:100%; height:auto; display:block; }

/* ریسپانسیو چیدمان اطلاعات */
@media (max-width:992px){
    .tech-modal .spec-row{ grid-template-columns: 160px 1fr; }
    .tech-modal .kv-grid.kv-3{ grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tech-modal .kv-grid {
        display: -webkit-inline-box;
        /* display: inline-box; */
    }
    .tech-modal .spec-row{ grid-template-columns: 1fr; }
    .tech-modal .kv-grid.kv-2, .tech-modal .kv-grid.kv-3{ grid-template-columns:1fr; }

        .tech-modal .kv-grid.kv-2, .tech-modal .kv-grid.kv-3 {
            display: flex;
        }


}

.fancybox__container{
    z-index: 9999999999999999 !important;
}
/* ستاره امتیاز کنار نام کاربر */
.rating-stars .bi{
    font-size: 1.05rem;
    color: #ff7a00;      /* نارنجی ملایم مثل تصویر */
    margin-left: .15rem; /* فاصله بین ستاره‌ها در RTL */
}
.dark-theme .rating-stars .bi{
    color: #ff9a3d;
}
.ltr{
    direction: ltr;
}
.rating-stars{ display:inline-flex; line-height:1; direction: ltr;}
.rating-stars .bi{ font-size:1rem; color:#ff7a00; margin-left:.15rem; }
.rating-ov,.rating-ov-user{
    color: #ff7a00 !important;
}
.rating-ov-all{
    font-size: 24px;
}
.tox-tinymce{
    margin-bottom: 20px;
}
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{
    right: auto !important;
}
.ad-title a{
    color: inherit;
}
.accordion-item:first-of-type {
    border-top-right-radius: var(--roundMain) !important;
    border-top-left-radius: var(--roundMain) !important;
}
.accordion-flush>.accordion-item:last-child{
    border-bottom-right-radius: var(--roundMain) !important;
    border-bottom-left-radius: var(--roundMain) !important;
}
.accordion-item:first-of-type>.accordion-header .accordion-button , .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{
    border-radius: var(--roundMain) !important;
}
.cat-badge {

    border-radius: var(--roundMain) !important;
}
.dark-theme .accordion-button:not(.collapsed){
    color: white;
}
.dark-theme .nav-item a{
    color: white !important;
}
.user-page-meta{
    margin-top: 44px !important;
}
.user-page-meta .stat-label{
    font-weight: bold;
}
.dark-theme .tech-modal .k-value ,.dark-theme .profile-menu .menu-row,.dark-theme .btn-close{

    color: #ffffff;
}
 .modal-header{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}
.swiper-button-next, .swiper-button-prev{
    color: #d2d2d2 !important;
}











/* ===== Profile Tabs: vertical dividers between items ===== */
.profile-tabs .nav-item{ position: relative; }
.profile-tabs .nav-item + .nav-item{ padding-inline-start:16px; margin-inline-start:16px; }
.profile-tabs .nav-item + .nav-item::before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    inset-inline-start: 0; /* RTL/LTR safe */
    width: 1px;
    height: 24px;
    background-color: #d0d0d0;
}
.spec-content{
    margin-top: 10px;
}
.meta-btns{
    gap: 2px;
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.price-table .favorite-toggle{
    color: #3a3180 !important;
}
.dark-theme .text-dark {

    color: white !important
}
.ads-cat[aria-selected="true"]{
    border: 1px solid #212529;
    border-radius: var(--roundbtn);
    padding: 4px 10px;
}
 /* ---------- کارت پست (۳ در هر ردیف) ---------- */
 .post-card {
    background: #fff;
    border-radius: var(--roundMain);
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .05);
    display: flex;
    flex-direction: column;
}

.post-header {
    display: flex;
    gap: .6rem;
    align-items: center;
    padding: 1rem
}

.post-header img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
}

.post-body {
    padding: 0 1rem 1rem
}

/* Media box fixed height to equalize cards */
.post-media {
    height: 360px;
    background: #000
}

.post-media .swiper,
.post-media .swiper-wrapper,
.post-media .swiper-slide {
    height: 100%
}

.post-media .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center
}

.post-media img{
    width: 100%;
    height: 100%;
    object-fit: cover
}
.post-media video {
    width: 100%;
    height: 100%;
    object-fit: contain
}

@media (max-width: 992px) {
    /* .post-media {
        height: 260px
    } */
}

/* Keep actions and caption tidy */
.post-actions {
    margin-bottom: .5rem
}

.post-caption {
    min-height: 42px
}

.post-gallery {
    display: grid;
    gap: .25rem;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr))
}

.post-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0px
}

.post-time {
    font-size: .75rem;
    color: #6c757d
}
#postModal .swiper-backface-hidden .swiper-slide{
    align-self: center;
    max-height: 700px;
}
#postModal .swiper-backface-hidden .swiper-slide video{

    max-height: 700px;
}
.post-actions button{
    text-decoration: none;
}
.post-actions .btn:hover,#postModal .btn:hover{
    background-color: inherit;
}
 /* پاپاور اشتراک‌گذاری کوچک */
 .share-popover {
    position: absolute; z-index: 2147483000;
    min-width: 240px; padding: 8px 6px;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e4e6eb);
    border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.18);
  }
  .share-popover .share-item{
    display:flex; align-items:center; gap:10px;
    padding:8px 10px; border-radius:8px; text-decoration:none; color:inherit;
  }
  .share-popover .share-item:hover{ background: var(--surface-soft, #fafafa); }
  .share-popover .share-item i{ font-size: 1.1rem; }
  .dark-theme .share-popover{ background:#1e1e1e; border-color:#333; }
  .dark-theme .share-popover .share-item:hover{ background:#2a2a2a; }
  /* دو ستونه کردن user-page-meta در موبایل */
@media (max-width: 768px) {
    .user-page-meta {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .75rem 1.25rem; /* فاصله عمودی/افقی بین آیتم‌ها */
      align-items: start;
      gap: 20px !important;
      margin-top: 13px !important;
    }
    .user-page-meta .stat {
      min-width: 0;        /* برای جلوگیری از بیرون‌زدن متن */
      text-align: center;  /* حفظ استایل فعلی */
    }
    .seller-info .avatar-holder{
        position: relative;
        top: -15px;
    }
    .user-page-meta .stat-label {

        font-size: 15px;
    }

  }


  /* ===== Mobile Contact Bar (Profile) ===== */
.mobile-contact-bar{
    position: fixed;
    right: 0;
    left: 0;
    bottom: calc(var(--mobile-nav-h, 56px) + 20px);
    z-index: 1040;
    pointer-events: none;
    background: white;
    border-top: 1px solid #ececec;
  }
  .mobile-contact-bar .mc-inner{
    display: grid
    ;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        max-width: 820px;
        margin: 0 auto;
        padding: 14px 14px;
  }
  .mobile-contact-bar .mc-btn{
    pointer-events: auto;
    display: flex
;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 41px;
    border: 1px solid var(--border, #e4e6eb);
    /* background: var(--surface-soft, #fafafa); */
    color: var(--text-primary, #212529);
    border-radius: var(--roundMain);
    font-weight: 700;
    font-size: 15px;
    background-color: #e5eff0;
    border: none;
  }
  .mobile-contact-bar .mc-btn i{ font-size: 16px; position: relative; top: 1px; }
  .mobile-contact-bar .mc-btn.wa{ background: #eaf7ee; border-color: #bde3c6; }
  .mobile-contact-bar .mc-btn:disabled{
    opacity: .6; filter: grayscale(1); cursor: not-allowed;
  }

  /* Dark mode */
  .dark-theme .mobile-contact-bar .mc-btn{
    background: #2a2a2a; border-color: #333; color: #fff;
  }
  .dark-theme .mobile-contact-bar .mc-btn.wa{
    background: #1e2a22; border-color: #2f3c31;
  }
  .dark-theme .mobile-contact-bar{
    background: #1e1e1e;
    border-top: 1px solid #505050;
  }

  /* فقط موبایل نمایش بده */
  @media (min-width: 768px){
    .mobile-contact-bar{ display: none; }
  }
  .property-card-category-post{
    color: white;
    background-color: #3a307f;
    font-size: 12px;
    border: none;
    border-radius: 3px;
    height: 20px;
    display: flex
;
    font-weight: bold;
    margin-top: 10px;
  }
  .story-top-actions{
    position: relative;
    z-index: 28;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    height: fit-content;
    background: #2a2a2a;
    border-radius: var(--roundMain);
    padding: 3px 8px;
    margin-right: -59px;
  }
  .story-top-actions .ctrl-btn {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(6px);
    font-size: 14px;
}
.select2-container .select2-selection--single {
    display: flex !important;
    height: 40px !important;
    align-items: center !important;

}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    top: auto !important;
}
.select2-container--default .select2-selection--single {
    background-color: inherit !important;
    border: 1px solid #9fddd8 !important;
    border-radius: var(--roundMain) !important;
}
.ad-contact-buttons .ladder{
    position: relative;
    top: 3px;
    margin-left: 2%;
    float: left;
    padding: 6px 10px;
    background: linear-gradient(90deg, #981111 0%, #3a3180 100%);
}
.dark-theme .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #ffffff;

}
.comment-thread {
    margin-right: 40px;
    display: none;
}

.comment-thread .comment-thread {
    margin-right: 0 !important;
}

/* ظاهر و فاصله‌ها */
.comment-item .small {
    line-height: 1.6;
}

.comment-item a {
    font-weight: 600;
}

.reply-btn {
    font-size: 0.75rem;
    color: #999 !important;
    text-decoration: none;
}
.dark-theme .comment-time{
    color: #999 !important;
}

.reply-wrapper {
    margin-top: 0.5rem;
}

.hashtag-list a {
    display: inline-block;

    color: #718dff;
    padding: 4px 10px;
    border-radius: 10px;
    font-size: 0.85rem;
    margin: 3px;
    text-decoration: none;
}

.hashtag-list a:hover {
    background: #dbe4ff;
}
.dark-theme .modal-content{
    background-color: #1e1e1e;
    color: white;
}
.dark-theme .modal-content .form-control{
    background: #121212;
    color: white;
}
.dark-theme .btn-close{
    filter: invert(1);
}
.dark-theme .comment-item a {

    color: white !important;
}
.dark-theme #postModal .border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) #232323 !important;
}
.dark-theme #postModal .hashtag-list a {

    background: none;
    color: #718dff;
}
.showComments-btn{
    text-align: right;
    font-size: 0.75rem;
    color: #999 !important;
    text-decoration: none;
}
.showComments-btn .line{
    align-items: stretch;
    border: 0;
    border-bottom: 1px solid #838383;
    box-sizing: border-box;
    display: inline-block;
    flex-direction: column;
    flex-shrink: 0;
    font: inherit;
    font-size: 100%;
    height: 0;
    margin: 0px 0px 0px 9px;
    padding: 0;
    position: relative;
    vertical-align: middle;
    width: 24px;
    position: relative;
    top: 1px;
}
.comment-time {

    font-size: 12px;
}
.plyr{
    position: static !important
}
.plyr--video .plyr__controls{
    background: none !important;
    bottom: 7% !important;
}








