/* Dedicated product catalogue: left category navigator, right all-products grid. */
.shop-listing-page .shop-list-main { padding-top: 40px; }
.shop-listing-page .shop-section { padding-top: 0; }
.shop-listing-page .shop-layout {
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}
.shop-listing-page .shop-list-sidebar {
  position: sticky;
  top: 88px;
  grid-row: 1 / 3;
  display: grid;
  gap: 13px;
  padding: 22px 16px;
  border: 1px solid rgba(191, 154, 219, .36);
  border-radius: 17px;
  background: #1a1524;
}
.shop-listing-page .shop-list-sidebar h2 { margin: 0 0 8px; font-size: 23px; color: #f0e0ff; }
.shop-listing-page .shop-list-categories { display: grid; gap: 7px; }
.shop-listing-page .shop-list-categories button {
  width: 100%;
  min-height: 43px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  text-align: left;
  font: inherit;
  font-size: 14px;
  color: #d4c2e1;
  background: rgba(180, 131, 217, .065);
  cursor: pointer;
  transition: background-color .2s ease,border-color .2s ease;
}
.shop-listing-page .shop-list-categories button:hover,
.shop-listing-page .shop-list-categories button[aria-pressed="true"] {
  background: #342543;
  border-color: #ab82ca;
  color: #fff;
}
.shop-listing-page .shop-list-home-link {
  margin-top: 14px;
  padding: 13px;
  text-align: center;
  color: #e8d1fa;
  border: 1px solid rgba(203,169,229,.35);
  border-radius: 11px;
  text-decoration: none;
}
.shop-listing-page .shop-list-home-link:hover { background: #33223e; }
.shop-listing-page .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.shop-listing-page .cart { grid-column: 2; }
@media (max-width: 1200px) {
  .shop-listing-page .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .shop-listing-page .shop-layout { grid-template-columns: 1fr; }
  .shop-listing-page .shop-list-sidebar { position: static; grid-row:auto; }
  .shop-listing-page .shop-list-categories { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shop-listing-page .cart { grid-column:1; }
}
@media (max-width: 610px) {
  .shop-listing-page .shop-list-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop-listing-page .product-grid { grid-template-columns: 1fr; }
}