/* ==========================================================================
   SELORMART — Category (listing) page styles
   ========================================================================== */

/* ---- Breadcrumb (shared look with product.html) ---- */
.breadcrumb{display:flex;align-items:center;gap:9px;padding:16px 0;font-size:12.8px;color:var(--gray-500);flex-wrap:wrap;}
.breadcrumb a{color:var(--gray-500);transition:.2s;}
.breadcrumb a:hover{color:var(--accent);}
.breadcrumb i{font-size:9px;color:var(--gray-300);}
.breadcrumb .current{color:var(--ink);font-weight:600;}

/* ---- Sub-category pill row ---- */
.subcat-row{
  display:flex;gap:10px;overflow-x:auto;padding-bottom:14px;scrollbar-width:none;
}
.subcat-row::-webkit-scrollbar{display:none;}
.subcat-row a{
  flex-shrink:0;padding:9px 18px;border-radius:100px;border:1.5px solid var(--border);font-size:13.5px;font-weight:600;
  color:var(--ink-soft);white-space:nowrap;transition:var(--transition);background:var(--surface);
}
.subcat-row a:hover{border-color:var(--accent);color:var(--accent);}
.subcat-row a.active{background:var(--accent);border-color:var(--accent);color:#fff;}

/* ---- Two-column layout ---- */
.cat-layout{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:start;padding-top:8px;}

/* ---- Sidebar filters (Desktop / Laptop) ---- */
.cat-sidebar{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;
  position:sticky;top:96px;display:block;width:100%;box-shadow:none;transform:none !important;
}

@media (min-width: 1025px){
  .cat-layout{
    display:grid !important;
    grid-template-columns:260px 1fr !important;
    gap:26px !important;
    align-items:start !important;
    position:relative !important;
  }
  .cat-sidebar{
    position:sticky !important;
    top:96px !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    background:var(--surface) !important;
    border:1px solid var(--border) !important;
    border-radius:var(--radius-m) !important;
    box-shadow:none !important;
    transform:none !important;
    display:block !important;
    visibility:visible !important;
    pointer-events:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:20px !important;
    z-index:10 !important;
  }
  .cat-sheet-overlay,
  .cat-sheet-drag-handle,
  .cat-filter-close-btn,
  .mobile-filter-btn{
    display:none !important;
  }
}
.cat-sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.cat-sidebar-head h3{font-size:15px;display:flex;align-items:center;gap:8px;}
.cat-sidebar-head h3 i{color:var(--accent);font-size:14px;}
.cat-sidebar-head button{font-size:12px;font-weight:600;color:var(--accent);}
.cat-sidebar-head button:hover{text-decoration:underline;}

.filter-block{padding:16px 0;border-bottom:1px solid var(--border);}
.filter-block:first-of-type{padding-top:0;}
.filter-block h4{font-size:13.5px;font-weight:700;margin-bottom:12px;color:var(--ink);}

.price-range-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.price-range-row input[type="number"]{
  width:100%;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;
  background:var(--surface-2);color:var(--ink);
}
.price-range-row span{color:var(--gray-300);flex-shrink:0;}
#priceSlider{width:100%;accent-color:var(--accent);margin-bottom:6px;}
.price-range-labels{display:flex;justify-content:space-between;font-size:11.5px;color:var(--gray-500);}

.filter-check{display:flex;align-items:center;gap:9px;font-size:13.3px;color:var(--ink-soft);margin-bottom:11px;cursor:pointer;}
.filter-check:last-child{margin-bottom:0;}
.filter-check input{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;cursor:pointer;}
.filter-check .stars{color:var(--amber);font-size:12px;letter-spacing:1px;}
.filter-check span:not(.stars){}

/* ---- Content area ---- */
.cat-toolbar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:14px 18px;margin-bottom:16px;
}
.cat-toolbar-left{display:flex;align-items:center;gap:14px;font-size:13.5px;color:var(--gray-500);font-weight:600;}
.mobile-filter-btn{display:none;align-items:center;gap:7px;padding:8px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;}
.cat-toolbar-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.cat-toolbar-right label{font-size:13px;color:var(--gray-500);font-weight:600;display:flex;align-items:center;gap:6px;}
.cat-toolbar-right select{
  border:1.5px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600;color:var(--ink);
  background:var(--surface-2);cursor:pointer;
}
.view-toggle{display:flex;gap:4px;border:1.5px solid var(--border);border-radius:8px;padding:3px;}
.view-toggle button{width:30px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:5px;color:var(--gray-500);}
.view-toggle button.active{background:var(--accent);color:#fff;}

.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.active-chips .chip{
  display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);
  padding:6px 8px 6px 14px;border-radius:100px;font-size:12.5px;font-weight:600;color:var(--ink-soft);
}
.active-chips .chip button{width:18px;height:18px;border-radius:50%;background:var(--gray-300);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.active-chips .chip button:hover{background:var(--accent);}

/* ---- Product grid (extends .jfy-card with a features list + compare/buy row) ---- */
.cat-grid, .product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;}
.cat-grid .jfy-card, .product-grid .jfy-card{
  height:100%;display:flex;flex-direction:column;justify-content:space-between;min-width:0;
}
.cat-grid .jfy-thumb, .product-grid .jfy-thumb{
  aspect-ratio:1/1;width:100%;max-width:100%;position:relative;overflow:hidden;background:#fff;
}
.cat-grid .jfy-thumb a, .product-grid .jfy-thumb a{
  display:block;width:100%;height:100%;
}
.cat-grid .jfy-thumb img, .product-grid .jfy-thumb img{
  width:100%;height:100%;object-fit:contain;padding:12px;display:block;
}
.cat-grid .jfy-info, .product-grid .jfy-info{
  flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:12px;
}
.cat-grid.list-view, .product-grid.list-view{grid-template-columns:1fr;}
.cat-grid.list-view .jfy-card, .product-grid.list-view .jfy-card{display:grid;grid-template-columns:180px 1fr;gap:18px;}
.cat-grid.list-view .jfy-thumb, .product-grid.list-view .jfy-thumb{aspect-ratio:1/1;}
.cat-grid.list-view .jfy-info, .product-grid.list-view .jfy-info{padding:14px 14px 14px 0;}
.cat-grid.list-view .jfy-info h4, .product-grid.list-view .jfy-info h4{-webkit-line-clamp:2;min-height:0;font-size:14.5px;}
.cat-grid.list-view .cat-features, .product-grid.list-view .cat-features{display:block;}

.cat-card-badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:5px;z-index:2;}
.cat-card-badges .badge-new{background:var(--green);color:#fff;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:5px;}
.cat-card-badges .badge-off{background:var(--accent);color:#fff;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:5px;}
.cat-card-badges .badge-out{background:var(--ink-fixed);color:#fff;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:5px;}

.cat-features{display:none;margin:6px 0 8px;padding:0;list-style:none;}
.cat-features li{font-size:11.8px;color:var(--gray-500);padding-left:14px;position:relative;margin-bottom:4px;line-height:1.4;}
.cat-features li::before{content:"•";position:absolute;left:2px;color:var(--accent);}

.cat-compare-row{display:flex;align-items:center;justify-content:space-between;padding:0 12px 12px;}
.cat-compare-row label{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--gray-500);cursor:pointer;}
.cat-compare-row input{accent-color:var(--accent);cursor:pointer;}
.cat-compare-row .save-tag{font-size:11px;color:var(--green);font-weight:700;}

.cat-empty{text-align:center;padding:70px 20px;color:var(--gray-500);}
.cat-empty i{font-size:48px;color:var(--gray-300);margin-bottom:16px;display:block;}
.cat-empty p{margin-bottom:18px;font-size:14.5px;}

.cat-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:32px;flex-wrap:wrap;}
.cat-pagination button{
  min-width:38px;height:38px;padding:0 10px;border-radius:8px;border:1.5px solid var(--border);font-size:13.5px;
  font-weight:600;color:var(--ink-soft);transition:var(--transition);
}
.cat-pagination button:hover{border-color:var(--accent);color:var(--accent);}
.cat-pagination button.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.cat-pagination button:disabled{opacity:.4;cursor:not-allowed;}

.cat-sheet-overlay{display:none;}
.cat-sheet-drag-handle{display:none;}
.cat-filter-close-btn{display:none;}
.mobile-filter-btn{display:none;}
.cat-sidebar-scroll{display:flex;flex-direction:column;}
.cat-filter-actions{margin-top:16px;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1180px){
  .cat-grid, .product-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:1024px){
  .cat-layout{grid-template-columns:1fr;position:static !important;}
  .cat-sheet-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(15,23,42,0.65);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    z-index:25000 !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s cubic-bezier(.16,1,.3,1), visibility .3s cubic-bezier(.16,1,.3,1);
  }
  .cat-sheet-overlay.active,
  .cat-sheet-overlay.show{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .cat-sidebar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    width:100% !important;
    max-width:600px !important;
    margin:0 auto !important;
    background:var(--surface,#ffffff) !important;
    border-radius:26px 26px 0 0 !important;
    border:none !important;
    box-shadow:0 -12px 40px rgba(15,23,42,0.28) !important;
    z-index:25001 !important;
    transform:translateY(100%) !important;
    transition:transform .35s cubic-bezier(.16,1,.3,1) !important;
    display:flex !important;
    flex-direction:column !important;
    max-height:85vh !important;
    overflow:hidden !important;
    padding:0 !important;
    visibility:hidden;
    pointer-events:none;
  }
  .cat-sidebar.active,
  .cat-sidebar.open{
    transform:translateY(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .cat-sheet-drag-handle{
    display:flex;
    width:100%;
    padding:10px 0 4px;
    justify-content:center;
    cursor:grab;
    flex-shrink:0;
  }
  .cat-sheet-drag-handle span{
    width:44px;
    height:5px;
    border-radius:3px;
    background:#cbd5e1;
  }

  .cat-sidebar form{
    display:flex;
    flex-direction:column;
    height:100%;
    overflow:hidden;
  }

  .cat-sidebar-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 20px 14px;
    border-bottom:1px solid var(--border);
    margin-bottom:0;
    flex-shrink:0;
  }
  .cat-filter-close-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--surface-2,#f1f5f9);
    border:none;
    color:var(--gray-500,#64748b);
    font-size:15px;
    cursor:pointer;
    transition:all .2s ease;
  }
  .cat-filter-close-btn:hover{
    background:#e2e8f0;
    color:#0f172a;
  }

  .cat-sidebar-scroll{
    padding:16px 20px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px;
  }

  .cat-filter-actions{
    padding:12px 20px 18px;
    border-top:1px solid var(--border);
    background:var(--surface,#ffffff);
    flex-shrink:0;
    margin-top:0;
  }

  .mobile-filter-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 16px;
    border:1.5px solid var(--accent,#E31E24);
    background:rgba(227,30,36,0.06);
    color:var(--accent,#E31E24);
    border-radius:10px;
    font-size:13.5px;
    font-weight:700;
    cursor:pointer;
    transition:all .2s;
  }
  .mobile-filter-btn:hover{
    background:var(--accent,#E31E24);
    color:#ffffff;
  }
}
@media (max-width:860px){
  .cat-grid, .product-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .cat-toolbar-right{width:100%;justify-content:space-between;}
  .cat-toolbar-right label span{display:none;}
  .cat-grid.list-view .jfy-card, .product-grid.list-view .jfy-card{grid-template-columns:120px 1fr;}
}
@media (max-width:480px){
  .cat-grid, .product-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
}
@media (max-width:640px){
  .cat-toolbar{flex-direction:column;align-items:stretch;}
  .cat-toolbar-left{justify-content:space-between;}
}
