/* ==========================================================================
   SHOP — catalog: sidebar filters + uniform grid
   ========================================================================== */
.shop-head{ padding:36px 0 28px; border-bottom:1px solid var(--border-soft); background:var(--cream-deep); }
.breadcrumb{ font-family:var(--font-mono); font-size:.76rem; color:var(--warm-gray); margin-bottom:14px; font-weight:600; }
.breadcrumb a{ color:var(--warm-gray); text-decoration:none; }
.breadcrumb a:hover{ color:var(--gold); }

.shop-layout{ display:grid; grid-template-columns:240px 1fr; gap:48px; padding:40px 0 100px; align-items:start; }
@media (max-width:900px){ .shop-layout{ grid-template-columns:1fr; } }

.filter-panel{ position:sticky; top:100px; }
.filter-group{ padding:20px 0; border-bottom:1px solid var(--border-soft); }
.filter-group:first-child{ padding-top:0; }
.filter-group h4{ font-family:var(--font-mono); font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; font-weight:800; }
.filter-option{ display:flex; align-items:center; gap:10px; padding:6px 0; cursor:pointer; font-size:.92rem; }
.filter-option input{ accent-color:var(--gold); width:15px; height:15px; }
.filter-option .fo-count{ margin-left:auto; font-family:var(--font-mono); font-size:.72rem; color:var(--warm-gray); }
.filter-clear{ font-family:var(--font-mono); font-size:.72rem; color:var(--warm-gray); text-decoration:underline; background:none; border:0; cursor:pointer; padding:0; margin-top:14px; font-weight:600; }

.mobile-filter-toggle{ display:none; }
@media (max-width:900px){
  .mobile-filter-toggle{
    display:flex; width:100%; justify-content:space-between; align-items:center;
    padding:14px 18px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--white); cursor:pointer;
    font-family:var(--font-mono); font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; font-weight:700; margin-bottom:20px;
  }
  .filter-panel{ display:none; position:static; }
  .filter-panel.open{ display:block; margin-bottom:30px; }
}

.shop-toolbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; gap:20px; flex-wrap:wrap; }
.result-count{ font-family:var(--font-mono); font-size:.8rem; color:var(--warm-gray); font-weight:600; }
.sort-select{
  font-family:var(--font-mono); font-size:.76rem; text-transform:uppercase; letter-spacing:.03em; font-weight:700;
  border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--white); padding:9px 14px; cursor:pointer;
}

.product-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px 20px; }
@media (max-width:760px){ .product-grid{ grid-template-columns:repeat(2,1fr); gap:18px 14px; } }
@media (max-width:420px){ .product-grid{ grid-template-columns:1fr; } }

.empty-state{ text-align:center; padding:80px 20px; color:var(--warm-gray); }
