/* Midnight Commerce — Category / Search / listing */
.product-section,
.category-product { background: transparent !important; }

.product-section { padding: 28px 0 46px !important; }
.sorting-section {
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    background: var(--surface) !important;
    box-shadow: var(--shadow-soft) !important;
}
.category-breadcrumb { min-height: 42px; gap: 8px; color: var(--ink-600); font-size: 13px; }
.category-breadcrumb strong { color: var(--ink-900); }
.showing-data { color: var(--ink-500); font-size: 12px; min-height: 42px; display: flex; align-items: center; }
.filter_sort { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.filter_btn,
.mobile-filter-toggle {
    min-width: 42px;
    min-height: 42px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface);
    color: var(--brand-primary);
    cursor: pointer;
}
.page-sort .form-select,
.page-sort .form-control { min-height: 42px; border-radius: 10px; font-size: 12px; }

.filter_sidebar {
    position: sticky;
    top: 86px;
    align-self: flex-start;
}
.filter_sidebar > form {
    display: grid;
    gap: 12px;
}
.sidebar_item.wraper__item {
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    background: var(--surface) !important;
    box-shadow: none !important;
}
.sidebar_item .accordion-item { border: 0 !important; }
.sidebar_item .accordion-button { padding: 14px 16px !important; color: var(--ink-900); font-size: 14px; font-weight: 700; background: var(--surface); box-shadow: none !important; }
.sidebar_item .accordion-body { padding: 6px 16px 16px !important; }
.sidebar_item .cust_according_body a { color: var(--ink-600) !important; }
.subcategory-filter-label { min-height: 38px; display: flex; align-items: center; gap: 9px; cursor: pointer; }
.form-checkbox { width: 18px; height: 18px; accent-color: var(--brand-primary); }
.subcategory-filter-name { margin: 0 !important; color: var(--ink-600) !important; font-size: 13px !important; }

.category-product.main_product_inner,
.main_product_inner.category-product {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px !important;
    align-items: stretch;
}
.category-product .product_item { width: auto !important; margin: 0 !important; }

.filter-price-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.filter-price-inputs p { margin: 0 !important; min-height: 38px; display: flex; align-items: center; gap: 4px; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--ink-600); background: var(--surface-soft); }
.filter-price-inputs input { width: 100%; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.ui-slider .ui-slider-range { background: var(--brand-primary) !important; }
.ui-slider .ui-slider-handle { border-color: var(--brand-primary) !important; background: var(--surface) !important; border-radius: 50%; }

.custom_paginate { margin-top: 28px !important; }
.meta_des { margin-top: 10px; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--ink-600); }

@media (max-width: 1199.98px) {
    .category-product.main_product_inner,
    .main_product_inner.category-product { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 991.98px) {
    .product-section { padding-top: 16px !important; }
    .filter_sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0;
        bottom: 0;
        z-index: 1055;
        width: min(86vw, 340px) !important;
        max-width: 340px;
        height: 100dvh;
        padding: 12px !important;
        overflow-y: auto;
        background: var(--surface);
        box-shadow: var(--shadow-elevated);
        transform: translateX(-104%);
        transition: transform .24s ease;
    }
    .filter_sidebar.active,
    .filter_sidebar.show { transform: translateX(0); }
    .filter_close { min-height: 44px; display: flex !important; align-items: center; gap: 8px; margin-bottom: 12px; font-weight: 700; color: var(--ink-900); }
    .sorting-section { position: sticky; top: 118px; z-index: 1010; padding: 9px 10px !important; }
    .category-product.main_product_inner,
    .main_product_inner.category-product { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px !important; }
}

@media (max-width: 767.98px) {
    .sorting-section .row > [class*="col-"] { width: 100%; }
    .sorting-section .row > [class*="col-"]:first-child { margin-bottom: 6px; }
    .sorting-section .col-sm-6 .row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .showing-data { min-height: 36px; }
    .category-product.main_product_inner,
    .main_product_inner.category-product { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 575.98px) {
    .sorting-section { top: 112px; margin-left: -2px !important; margin-right: -2px !important; }
    .category-breadcrumb { min-height: 30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .showing-data { font-size: 11px; }
    .page-sort .form-select, .page-sort .form-control { max-width: 150px; }
    .category-product.main_product_inner,
    .main_product_inner.category-product { gap: 10px !important; }
}
