/* Container bliżej lewej krawędzi, jak chciałeś */
.container{max-width:none; margin:0; padding:24px 24px 24px 16px}

/* Układ: sidebar lewo (sticky) + treść */
.layout{display:grid; grid-template-columns:1fr; gap:20px}
@media (min-width:960px){
  .layout{grid-template-columns:300px 1fr; align-items:start}
  .sidebar{position:sticky; top:72px; max-height:calc(100vh - 100px); overflow:auto}
}
.sidebar{
  background:var(--panel); border:1px solid #1e232a; border-radius:var(--radius);
  box-shadow:var(--shadow); padding:14px;
}
.sidebar-title{margin:0 0 8px; font-size:1rem; color:#fff}
.control-group{display:grid; gap:8px; margin-bottom:12px}
.control-label{color:var(--muted); font-size:.9rem}

/* Chipy pionowo */
.chipset.vertical{display:grid; grid-template-columns:1fr; gap:8px}
.chip{
  display:flex; align-items:center; gap:8px; width:100%;
  background:#0e1318; border:1px solid #27303a; padding:10px 12px; border-radius:12px; cursor:pointer;
}
.chip input{accent-color:var(--accent)}

/* Masonry dla kart (nie rozpycha innych przy otwieraniu opisu) */
.grid{column-count:1; column-gap:24px; margin-top:12px}
@media (min-width:640px){ .grid{column-count:3} }
@media (min-width:960px){ .grid{column-count:4} }
@media (min-width:1280px){ .grid{column-count:6} }

/* Karty produktów */
.card{
  display:inline-block; width:100%; margin:0 0 24px; break-inside:avoid;
  background:var(--panel); border:1px solid #1e232a; border-radius:var(--radius);
  box-shadow:var(--shadow); overflow:hidden;
}
.card img{width:100%; height:220px; object-fit:cover; background:#0b0d10}
@media (min-width:640px){ .card img{height:200px} }
@media (min-width:960px){ .card img{height:180px} }
@media (min-width:1280px){ .card img{height:170px} }

.card-body{padding:16px; display:grid; gap:10px}
.card-title{margin:0; font-size:1.05rem}
.price{margin:0; color:#fff}
.rating{margin:0; color:var(--accent-2); font-weight:600}
.badge{
  display:inline-block; background:#10161c; border:1px solid #27303a; color:var(--muted);
  padding:6px 10px; border-radius:999px; font-size:.85rem
}

/* Rozwijany opis */
details{background:#0e1318; border:1px solid #27303a; border-radius:12px; padding:8px 12px; margin-top:4px}
summary{cursor:pointer; list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; float:right; color:var(--muted)}
details[open] summary::after{content:"–"}
