/* ================================================================
   iranboschcenter.com — صفحه مجموعه (دسته‌بندی برنددار)
   ----------------------------------------------------------------
   دسکتاپ: ستون کناری سمت راست با زیرمجموعه‌ها و دسته‌های هم‌گروه
   موبایل: همان لیست به‌صورت چیپ‌های افقی قابل اسکرول، بالای محصولات
   ================================================================ */

.cat-body {
    display: block;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 1rem;
}

.col-sidebar { display: none; }

/* چیپ‌های موبایل */
.col-chips {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: .25rem 1rem .75rem;
    max-width: 1320px;
    margin: 0 auto;
}
.col-chips::-webkit-scrollbar { display: none; }
.col-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: #fff;
    border: 1px solid #ececef;
    border-radius: 999px;
    padding: .45rem .85rem;
    font-size: .8125rem;
    font-weight: 600;
    color: #33475b;
    white-space: nowrap;
    transition: border-color .15s, color .15s;
}
.col-chip:hover,
.col-chip:focus-visible {
    border-color: var(--color-primary, #e20015);
    color: var(--color-primary, #e20015);
}
.col-chip span {
    background: #f1f5f9;
    border-radius: 999px;
    padding: 0 .4rem;
    font-size: .6875rem;
    font-weight: 700;
    color: #64748b;
}

/* ---------------- دسکتاپ ---------------- */
@media (min-width: 1024px) {
    .col-chips { display: none; }

    .cat-body {
        display: grid;
        grid-template-columns: 264px minmax(0, 1fr);
        gap: 1.5rem;
        align-items: start;
    }
    /* بدون ستون کناری، محتوا کل عرض را می‌گیرد */
    .cat-body--wide { grid-template-columns: minmax(0, 1fr); }

    .col-sidebar {
        display: block;
        position: sticky;
        top: 1rem;
    }
}

.col-sidebar__box {
    background: #fff;
    border: 1px solid #f0f0f3;
    border-radius: 1rem;
    padding: .9rem 1rem;
    margin-bottom: .875rem;
}

.col-sidebar__title {
    font-size: .8125rem;
    font-weight: 800;
    color: #0b1b2b;
    padding-bottom: .55rem;
    margin-bottom: .4rem;
    border-bottom: 1px solid #f3f4f6;
}

.col-sidebar__up {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--color-primary, #e20015);
}
.col-sidebar__up span { font-size: 1.1em; line-height: 1; }

.col-sidebar__list { list-style: none; margin: 0; padding: 0; }
.col-sidebar__list li + li { border-top: 1px solid #f7f7f9; }
.col-sidebar__list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .5rem .1rem;
    font-size: .8125rem;
    line-height: 1.9;
    color: #33475b;
    transition: color .15s;
}
.col-sidebar__list a:hover { color: var(--color-primary, #e20015); }
.col-sidebar__list a b {
    flex-shrink: 0;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 0 .45rem;
    font-size: .6875rem;
    font-weight: 700;
    color: #64748b;
}
.col-sidebar__list a:hover b {
    background: var(--color-primary-light, #fdecec);
    color: var(--color-primary, #e20015);
}

.col-sidebar__cta {
    background: var(--color-primary-light, #fdecec);
    border-color: #ffd9dc;
    text-align: center;
}
.col-sidebar__cta-title { font-weight: 800; font-size: .875rem; color: var(--color-primary-dark, #b00010); }
.col-sidebar__cta p { font-size: .75rem; color: #33475b; line-height: 1.9; margin: .35rem 0 .7rem; }
.col-sidebar__cta .btn-quote { width: 100%; }

/* ================================================================
   کشوی فیلتر موبایل
   ----------------------------------------------------------------
   همان ستون کناری است، فقط زیر ۱۰۲۴px به یک شیت پایین‌کشو تبدیل می‌شود.
   مارک‌آپ تکرار نشده، پس id تکراری و فرم دوم ساخته نمی‌شود.
   ================================================================ */
.filter-fab { display: none; }
.filter-overlay { display: none; }
.filter-sheet__head { display: none; }

@media (max-width: 1023px) {
    .filter-fab {
        display: inline-flex; align-items: center; gap: .4rem;
        background: #fff; border: 1px solid #e6e7ea; border-radius: .6rem;
        padding: .45rem .8rem; font-size: .8125rem; font-weight: 700;
        color: #0b1b2b; font-family: inherit; cursor: pointer;
    }
    .filter-fab svg { width: 15px; height: 15px; color: var(--color-primary, #e20015); }
    .filter-fab b {
        background: var(--color-primary, #e20015); color: #fff;
        border-radius: 999px; font-size: .6875rem; padding: 0 .38rem; font-weight: 800;
    }

    .filter-overlay {
        display: block; position: fixed; inset: 0; z-index: 119;
        background: rgba(11, 27, 43, .45);
        opacity: 0; pointer-events: none; transition: opacity .22s;
    }
    .filter-overlay.open { opacity: 1; pointer-events: auto; }

    .col-sidebar {
        display: block;
        position: fixed; inset-inline: 0; bottom: 0; top: auto;
        z-index: 120;
        max-height: 85vh; overflow-y: auto; overscroll-behavior: contain;
        background: #fff;
        border-radius: 1.1rem 1.1rem 0 0;
        box-shadow: 0 -10px 34px rgba(11, 27, 43, .2);
        padding: 0 .9rem 1.1rem;
        transform: translateY(101%);
        transition: transform .25s ease;
    }
    .col-sidebar.open { transform: none; }

    /* دسته‌بندی‌ها روی موبایل به‌صورت چیپ افقی بالای صفحه هستند،
       پس داخل کشو فقط فیلترها می‌مانند */
    .col-sidebar .col-sidebar__box { display: none; }

    .filter-sheet__head {
        display: flex; align-items: center; justify-content: space-between;
        position: sticky; top: 0; background: #fff; z-index: 1;
        padding: .9rem .15rem .7rem;
        border-bottom: 1px solid #f1f2f4;
        font-size: .9375rem; font-weight: 800; color: #0b1b2b;
    }
    .filter-sheet__head button {
        border: 0; background: #f4f5f7; border-radius: 50%;
        width: 30px; height: 30px; font-size: .95rem; color: #64748b;
        cursor: pointer; line-height: 1;
    }

    .facets { border: 0; padding: 0; margin: 0; border-radius: 0; }
    .facets__head { display: none; }
    .facet__list { max-height: none; }
    /* هدف لمسی بزرگ‌تر روی موبایل */
    .facet__opt { padding: .55rem 0; font-size: .875rem; }
    .facet__opt input { width: 18px; height: 18px; }
    .facet__title { padding: .8rem 0; font-size: .875rem; }
}

/* ---------------- محدوده‌ی قیمت دسته ---------------- */
.cat-price-range {
    display: flex; align-items: center; flex-wrap: wrap; gap: .45rem;
    margin: .65rem 0 0;
    font-size: .875rem; color: #33475b;
}
.cat-price-range span { color: #7c8a9c; font-size: .8125rem; }
.cat-price-range b { font-weight: 800; color: #0b1b2b; }
.cat-price-range i { font-style: normal; color: #9aa7b5; font-size: .8125rem; }
.cat-price-range a {
    margin-inline-start: .35rem;
    font-size: .78rem; font-weight: 700;
    color: var(--color-primary, #e20015);
    border-bottom: 1px dashed currentColor;
}
@media (max-width: 640px) {
    .cat-price-range { font-size: .8125rem; gap: .35rem; }
    .cat-price-range a { flex: 1 1 100%; margin-inline-start: 0; margin-top: .2rem; }
}
