/* Compact catalog layout inspired by the supplied reference. */
.page-shell:has(.store-listing--category) { background: #f7f9fc; padding-top: 10px; }
.page-shell:has(.store-listing--category) .breadcrumbs { margin-bottom: 3px; }
.page-shell:has(.store-listing--category) .page-top { margin-bottom: 9px; }
.page-shell:has(.store-listing--category) .page-title { font-size: clamp(21px, 1.8vw, 27px); letter-spacing: -.35px; }
.store-listing--category .store-listing-layout { grid-template-columns: 230px minmax(0,1fr); gap: 18px; }
.store-listing--category .store-listing-sidebar { top: 12px; max-height: calc(100dvh - 24px); overflow-y: auto; }

.store-category-strip { margin-bottom: 13px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.store-category-strip-row { gap: 3px; align-items: center; }
.store-category-strip-row > button { width: 24px; height: 27px; border-radius: 50%; background: #fff; font-size: 17px; line-height: 1; }
.store-category-strip-list { gap: 7px; padding: 2px 0; scroll-snap-type: x proximity; mask-image: linear-gradient(to right,#000 0%,#000 calc(100% - 16px),transparent); }
.store-category-strip-list a,
.store-category-strip-list a.store-category-overview { flex: 0 0 auto; min-height: 29px; max-width: 190px; padding: 6px 11px; border: 1px solid #dbe6f2; border-radius: 8px; background: #fff; box-shadow: 0 2px 5px #14324f08; }
.store-category-strip-list a[aria-current='page'] { border-color: #075dd2; background: #edf4ff; }
.store-category-strip-list strong { display: block; overflow: hidden; font: 800 11px/1.3 Manrope,sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.store-category-strip-list .store-category-overview strong::before { content: '◈'; color: #075dd2; margin-right: 5px; }

.store-listing--category .store-filter-panel { padding: 13px 14px; border: 1px solid #dbe5ef; border-radius: 11px; background: #fff; box-shadow: 0 5px 15px #0e2f500c; }
.store-listing--category .store-filter-head { padding-bottom: 10px; margin-bottom: 12px; border-bottom: 1px solid #e8eef5; }
.store-listing--category .store-filter-head strong { color: #102d4a; font: 900 12px Manrope,sans-serif; text-transform: uppercase; }
.store-listing--category .store-filter-head button { color: #075dd2; font-size: 11px; font-weight: 800; }
.store-listing--category .store-filter-label { display: block; margin: 0 0 9px; color: #203a55; font: 900 11px Manrope,sans-serif; text-transform: uppercase; letter-spacing: .3px; }
.store-listing--category .store-list-controls { padding-bottom: 13px; margin-bottom: 13px; border-bottom: 1px solid #e8eef5; }
.store-listing--category .store-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.store-listing--category .store-tabs button { min-height: 35px; padding: 6px 4px; border-color: #d9e5f0; border-radius: 6px; background: #f8fafd; color: #31526d; font-size: 10px; }
.store-listing--category .store-tabs button.selected { border-color: #075dd2; background: #eef5ff; color: #0751ba; }
.store-listing--category .store-brand-filter { padding-bottom: 13px; margin-bottom: 13px; border-bottom: 1px solid #e8eef5; }
.store-listing--category #store-brand-search { width: 100%; height: 36px; padding: 7px 10px; border: 1px solid #d4e1ed; border-radius: 6px; background: #f8fafd; color: #163955; outline-offset: 2px; font-size: 11px; }
.store-listing--category .store-brand-options { display: grid; gap: 3px; max-height: 155px; overflow-y: auto; margin-top: 9px; scrollbar-width: thin; }
.store-listing--category .store-brand-option { display: grid; grid-template-columns: 15px minmax(0,1fr) auto; align-items: center; gap: 5px; min-height: 25px; color: #31516e; font-size: 11px; cursor: pointer; }
.store-listing--category .store-brand-option[hidden] { display: none; }
.store-listing--category .store-brand-option input,
.store-listing--category .store-material-filter input { width: 13px; height: 13px; margin: 0; accent-color: #075dd2; }
.store-listing--category .store-brand-option span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.store-listing--category .store-brand-option small { color: #7a91a6; font-size: 10px; }
.store-listing--category .store-price-form { display: block; padding-bottom: 14px; margin-bottom: 12px; border-bottom: 1px solid #e8eef5; }
.store-listing--category .store-price-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.store-listing--category .store-price-pair label { display: block; min-width: 0; color: #526e86; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.store-listing--category .store-price-pair input { width: 100%; height: 35px; min-height: 35px; margin-top: 4px; padding: 5px 7px; border: 1px solid #d4e1ed; border-radius: 6px; background: #f8fafd; font-size: 11px; }
.store-listing--category .store-price-form button { width: 100%; min-height: 37px; margin-top: 8px; border: 0; border-radius: 6px; background: #102038; color: #fff; font-size: 11px; }
.store-listing--category .store-price-form button:hover { background: #203c60; }
.store-listing--category .store-material-filter summary { color: #203a55; font: 900 11px Manrope,sans-serif; text-transform: uppercase; cursor: pointer; }
.store-listing--category .store-material-filter > div { display: grid; gap: 8px; padding-top: 11px; }
.store-listing--category .store-material-filter label { display: flex; gap: 7px; align-items: center; color: #526e86; font-size: 11px; cursor: pointer; }

.store-listing--category .store-results-toolbar { display: flex; justify-content: space-between; width: 100%; max-width: none; min-height: 44px; padding: 6px 9px; margin-bottom: 12px; border: 1px solid #dce7f1; border-radius: 9px; background: #fff; box-shadow: 0 3px 10px #14324f08; }
.store-toolbar-filter-summary { display: flex; align-items: center; gap: 7px; min-width: 0; color: #758aa0; font-size: 11px; }
.store-toolbar-filter-summary > span { white-space: nowrap; }
.store-toolbar-filter-summary > small { color: #31526d; font-size: 11px; }
.store-listing--category .store-active-filters { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
.store-listing--category .store-active-filters button { padding: 4px 7px; border-color: #d4e2ef; border-radius: 12px; background: #f5f8fc; color: #345775; font-size: 10px; }
.store-listing--category .store-toolbar-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.store-listing--category .store-sort-label { gap: 5px; padding: 0; border: 0; color: #5a7389; font-size: 10px; }
.store-listing--category .store-sort-label select { min-height: 29px; padding: 3px 7px; border-color: #dbe5ef; border-radius: 5px; background: #f8fafd; font-size: 11px; }
.store-view-toggle { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid #dbe5ef; border-radius: 6px; background: #fff; }
.store-view-toggle button { width: 26px; min-height: 25px; border: 0; border-radius: 4px; background: transparent; color: #7591aa; font-size: 17px; line-height: 1; }
.store-view-toggle button[aria-pressed='true'] { background: #e9f2ff; color: #075dd2; }

.store-listing--category .store-product-grid { gap: 12px; }
.store-listing--category .store-card.home-product-card { position: relative; border-radius: 11px; box-shadow: 0 3px 11px #0e2f500c; }
.store-listing--category .store-card .home-card-image { height: 150px; margin: 0; border: 0; border-bottom: 1px solid #ebf0f5; border-radius: 0; background: #f5f8fb; }
.store-listing--category .store-card .product-img { height: 100%; background: #f5f8fb; }
.store-listing--category .store-card .product-img img { padding: 12px; background: #f5f8fb; object-fit: contain; }
.store-listing--category .store-card .favorite-btn { top: 8px; right: 8px; width: 29px; height: 29px; font-size: 17px; }
.store-listing--category .store-card .home-shipping { position: absolute; top: 9px; left: 9px; z-index: 2; min-height: 22px; max-width: calc(100% - 52px); padding: 3px 6px; background: #f3fff7; font-size: 10px; }
.store-listing--category .store-card .product-info { min-height: 175px; padding: 9px 11px 10px; }
.store-listing--category .store-card .product-info { position: static; }
.store-listing--category .store-card .product-meta { font-size: 10px; color: #64829d; }
.store-listing--category .store-card .product-info h3 { min-height: 2.6em; margin: 3px 0 5px; font-size: 12px; line-height: 1.3; }
.store-listing--category .store-card .store-card-sku { display: block; overflow: hidden; max-width: 100%; color: #7c92a6; font-size: 10px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.store-listing--category .store-card .product-price { margin-top: auto; padding-top: 8px; border-top: 1px solid #ecf1f5; color: #102038; font-size: 18px; letter-spacing: -.2px; }
.store-listing--category .store-card .home-vat { margin-top: 2px; color: #6b8298; font-size: 10px; }
.store-listing--category .store-card .store-card-action { padding-top: 8px; }
.store-listing--category .store-card .store-card-action button,
.store-listing--category .store-card .store-card-action a { min-height: 39px; border-radius: 6px; background: #075dd2; font-size: 11px; }
.store-listing--category .store-card .store-card-action button:hover,
.store-listing--category .store-card .store-card-action a:hover { background: #034caa; }

.store-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 13px; border-top: 1px solid #dde7f1; }
.store-pagination .store-result-count { margin: 0; color: #738aa0; font-size: 11px; font-weight: 600; }
.store-pagination > div { display: flex; align-items: center; gap: 4px; }
.store-pagination button { min-width: 30px; min-height: 31px; padding: 4px 8px; border: 1px solid #d6e2ee; border-radius: 5px; background: #fff; color: #31526d; font-size: 11px; cursor: pointer; }
.store-pagination button[aria-current='page'] { border-color: #075dd2; background: #075dd2; color: #fff; }
.store-pagination button:disabled { opacity: .45; cursor: default; }
.store-pagination span { padding: 0 3px; color: #718aa2; }

.store-listing--category .store-product-grid[data-view='list'] { display: grid; grid-template-columns: 1fr; }
.store-listing--category .store-product-grid[data-view='list'] .store-card { display: grid; grid-template-columns: 180px minmax(0,1fr); min-height: 160px; }
.store-listing--category .store-product-grid[data-view='list'] .home-card-image { height: 100%; border-right: 1px solid #e9f0f6; border-bottom: 0; }
.store-listing--category .store-product-grid[data-view='list'] .product-info { min-height: 0; padding: 14px 16px; }
.store-listing--category .store-product-grid[data-view='list'] .home-shipping { position: static; margin: 5px 0; }
.store-listing--category .store-product-grid[data-view='list'] .store-card-action { width: min(220px,100%); }

@media (max-width: 1100px) {
  .store-listing--category .store-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .store-listing--category .store-listing-layout { display: block; }
  .store-listing--category .store-listing-sidebar { position: fixed; top: 0; max-height: 100dvh; }
  .store-listing--category .store-filter-panel { margin-top: 0; }
  .store-category-strip-row > button { display: none; }
  .store-listing--category .store-tabs button { min-height: 44px; font-size: 12px; }
  .store-listing--category .store-brand-option { min-height: 36px; font-size: 12px; }
  .store-listing--category .store-brand-option input,
  .store-listing--category .store-material-filter input { width: 17px; height: 17px; }
  .store-listing--category .store-brand-options { max-height: 210px; }
}
@media (max-width: 700px) {
  .store-listing--category .store-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .store-listing--category .store-results-toolbar { flex-wrap: wrap; gap: 7px; }
  .store-listing--category .store-toolbar-filter-summary { flex: 1 1 100%; }
  .store-listing--category .store-toolbar-actions { width: 100%; justify-content: space-between; }
  .store-pagination { flex-wrap: wrap; }
  .store-pagination > div { width: 100%; flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .store-category-strip-list a,
  .store-category-strip-list a.store-category-overview { min-height: 44px; padding: 11px 12px; }
  .store-listing--category .store-results-toolbar { width: 100%; padding: 8px; }
  .store-listing--category .store-product-grid { grid-template-columns: 1fr; }
  .store-listing--category .store-card.home-product-card { display: grid; grid-template-columns: 114px minmax(0,1fr); min-height: 184px; }
  .store-listing--category .store-card .home-card-image { height: 100%; min-height: 184px; margin: 0; border-right: 1px solid #e9f0f6; border-bottom: 0; }
  .store-listing--category .store-card .product-img img { padding: 8px; }
  .store-listing--category .store-card .home-shipping { position: static; max-width: 100%; margin: 4px 0; }
  .store-listing--category .store-card .product-info { min-height: 0; padding: 9px 10px; }
  .store-listing--category .store-card .product-info h3 { min-height: 0; font-size: 11px; }
  .store-listing--category .store-card .product-price { padding-top: 5px; font-size: 15px; }
  .store-listing--category .store-card .store-card-action button,
  .store-listing--category .store-card .store-card-action a { min-height: 44px; }
  .store-listing--category .store-product-grid[data-view='list'] .store-card { grid-template-columns: 114px minmax(0,1fr); }
  .store-listing--category .store-product-grid[data-view='list'] .home-card-image { min-height: 184px; }
}
