/* Danh muc va hang san xuat: bo loc AJAX, luoi the san pham dung chung. */
.dmax-catalog-page .site-inner {
    width:calc(100% - 32px);
    max-width:1200px;
    
}

.dmax-catalog-page .product-category-brands{
    padding-top:28px;
}
.dmax-catalog-page .content-sidebar-wrap {
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:24px;
    align-items:start;
    margin: 30px 0 50px;
}
.dmax-catalog-page .content-sidebar-wrap > .content {
    grid-column:2;
    grid-row:1;
    float:none;
    width:auto;
    min-width:0;
}
.dmax-catalog-page .content-sidebar-wrap > .sidebar-primary {
    grid-column:1;
    grid-row:1;
    float:none;
    display:block;
    width:auto;
    min-width:0;
    align-self:stretch;
}
.product-category-sidebar {
    position:sticky;
    top:var(--catalog-sticky-top,96px);
    max-height:calc(100vh - var(--catalog-sticky-top,96px) - 16px);
    max-height:calc(100dvh - var(--catalog-sticky-top,96px) - 16px);
    overflow-y:auto;
    padding:20px 18px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,16,98,.05);
}
.product-category-sidebar header {
    position:relative;
    padding-left:12px;
    padding-bottom:16px;
    border-bottom:1px solid #eceef3;
}
.product-category-sidebar header::before { content:""; position:absolute; top:3px; left:0; width:3px; height:24px; border-radius:3px; background:var(--accent); }
.product-category-sidebar .product-filter-title { margin:0 0 4px; font-size:18px; font-weight:700; line-height:1.4; color:var(--primary); }
.product-category-sidebar header p { margin:0; font-size:13px; line-height:1.5; color:#7b8497; }
.product-filter-form fieldset { margin:18px 0 0; padding:0; border:0; min-width:0; }
.product-filter-form legend { margin:0 0 12px; padding:0; font-size:16px; font-weight:800; color:var(--primary); }
.product-filter-options { display:grid; gap:8px; }
.product-filter-options label { display:flex; align-items:flex-start; gap:10px; min-height:32px; margin:0; padding:3px 0; cursor:pointer;font-weight: 500; font-size:15px; line-height:1.5; }
.product-filter-options input[type="checkbox"] { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; padding:0; accent-color:var(--primary); cursor:pointer; }
.product-filter-options input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.product-filter-reset { display:inline-block; width:auto; height:auto; min-height:0; margin:6px 0 0; padding:0; border:0; border-radius:0; background:none; color:var(--primary); font-family:var(--font-main); font-size:13px; font-weight:600; line-height:1.5; text-decoration:underline; cursor:pointer; }
.product-filter-reset[hidden] { display:none; }
.product-filter-reset:hover,
.product-filter-reset:focus-visible { background:none; color:var(--primary); text-decoration:none; }
.product-filter-status { margin:12px 0 0; font-size:13px; line-height:1.5; color:#6c768c; }
.product-filter-status:empty { display:none; }
.product-category-results { min-width:0; transition:opacity .15s ease; }
.product-category-results[aria-busy="true"] { opacity:.55; }
.product-category-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin:0 0 24px; }
.product-category-heading #product-category-title { margin:0 0 4px; font-size:28px; font-weight:800; line-height:1.3; color:var(--primary); }
.product-category-heading p { margin:0; color:#6c768c; font-size:14px; }
.product-category-sort { display:flex; align-items:center; gap:8px; margin:0; }
.product-category-sort label { margin:0; font-size:16px; white-space:nowrap; }
.product-category-sort select { width:auto; max-width:100%; height:46px; padding:0 30px 0 12px; border:1px solid #dce1ec; border-radius:8px; background-color:#fff; color:var(--primary); font-family:var(--font-main); font-size:16px; }
.product-filter-toggle,
.product-filter-close,
.product-filter-backdrop { display:none; }
.product-sort-icon,
.product-filter-summary { display:none; }
.product-category-products .sphot-detail-posts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.product-category-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:28px; }
.product-category-pagination a { display:grid; place-items:center; min-width:46px; height:46px; padding:0 12px; border:1px solid #dce1ec; border-radius:8px; background:#fff; color:var(--primary); }
.product-category-pagination a[aria-current],
.product-category-pagination a:hover { background:var(--primary); color:#fff; }
.product-category-empty { padding:28px; border:1px solid #e0e6f1; border-radius:12px; background:#f5f8ff; }
@media (max-width: 1170px) {
    .dmax-catalog-page .content-sidebar-wrap { grid-template-columns:230px minmax(0,1fr); gap:20px; }
    .product-category-products .sphot-detail-posts { gap:12px; }
}
@media (max-width: 960px) {
    .dmax-catalog-page .content-sidebar-wrap { grid-template-columns:210px minmax(0,1fr); gap:16px; }
    .product-category-products .sphot-detail-posts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 768px) {
    .product-category-sidebar { position:static; max-height:none; overflow-y:visible; }
    .dmax-catalog-page .content-sidebar-wrap { grid-template-columns:minmax(0,1fr); gap:24px; }
    .dmax-catalog-page .content-sidebar-wrap > .content { grid-column:1; grid-row:2; }
    .dmax-catalog-page .content-sidebar-wrap > .sidebar-primary { grid-column:1; grid-row:1; }
    .product-filter-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
    .product-filter-form fieldset { margin:16px 0 0; }
    .product-category-heading #product-category-title { font-size:24px; }
    .catalog-mobile-filters-ready .content-sidebar-wrap > .content { grid-row:1; }
    .catalog-mobile-filters-ready .content-sidebar-wrap > .sidebar-primary { grid-row:2; }
    .catalog-mobile-filters-ready .content-sidebar-wrap > .sidebar-primary:empty { display:none; }
    .catalog-mobile-filters-ready .product-category-heading { gap:12px; }
    .catalog-mobile-filters-ready .product-category-heading > div { width:100%; }
    .catalog-mobile-filters-ready .product-category-sort {
        position:relative;
        flex:0 0 auto;
        min-width:0;
        width:auto;
        height:36px;
        padding:0 10px;
        border-radius:4px;
        background:#f1f1f1;
    }
    .catalog-mobile-filters-ready .product-category-sort label { display:flex; align-items:center; gap:4px; font-size:14px; color:var(--primary); }
    .catalog-mobile-filters-ready .product-sort-icon { display:block; width:20px; height:20px; }
    .catalog-mobile-filters-ready .product-sort-colon { display:none; }
    .catalog-mobile-filters-ready .product-category-sort select { position:absolute; inset:0; min-width:0; width:100%; height:100%; opacity:0; cursor:pointer; }
    .catalog-mobile-filters-ready .product-category-sort:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
    .product-filter-toggle {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        height:36px;
        padding:0 12px;
        border:1px solid var(--primary);
        border-radius:8px;
        background:var(--primary);
        color:#fff;
        font-family:var(--font-main);
        font-size:14px;
    }
    .product-filter-summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin:0 0 16px; padding:10px 12px; border-radius:8px; background:#f5f8ff; }
    .product-filter-summary p { flex:1; min-width:0; margin:0; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
    .product-filter-clear { flex-shrink:0; height:auto; min-height:0; padding:0; border:0; border-radius:0; background:none; color:var(--primary); font-family:var(--font-main); font-size:14px; line-height:1.6; text-decoration:underline; }
    .product-filter-clear:hover,
    .product-filter-clear:focus-visible { background:none; color:var(--primary); text-decoration:none; }
    .catalog-mobile-filters-ready > .product-category-sidebar {
        display:none;
        position:fixed;
        top:var(--catalog-sticky-top,96px);
        right:calc(16px + env(safe-area-inset-right,0px));
        z-index:1201;
        width:calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
        max-width:420px;
        max-height:calc(100vh - var(--catalog-sticky-top,96px) - 16px - env(safe-area-inset-bottom,0px));
        max-height:calc(100dvh - var(--catalog-sticky-top,96px) - 16px - env(safe-area-inset-bottom,0px));
        overflow-y:auto;
        overscroll-behavior:contain;
    }
    .catalog-mobile-filters-ready > .product-category-sidebar.is-open { display:block; }
    .catalog-mobile-filters-ready > .product-category-sidebar header { padding-right:46px; }
    .product-filter-close {
        position:absolute;
        top:-10px;
        right:-8px;
        display:flex;
        align-items:center;
        justify-content:center;
        width:46px;
        height:46px;
        padding:0;
        border:0;
        border-radius:8px;
        background:transparent;
        color:var(--primary);
        font-size:28px;
        line-height:1;
    }
    .product-filter-backdrop:not([hidden]) {
        display:block;
        position:fixed;
        inset:0;
        z-index:1200;
        background:rgba(0,16,98,.3);
    }
    .product-filter-toggle:focus-visible,
    .product-filter-close:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
}
@media (max-width: 500px) {
    .product-filter-form { grid-template-columns:minmax(0,1fr); }
    .product-filter-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-category-sort { width:100%; }
    .product-category-sort select { flex:1; min-width:0; }
}
