/**
 * Art Building — Ultimate Filters sidebar
 * Brand: #052454 · accent #56ad56 · Poppins
 */
.ab43-filter-module.filter-module {
  --ab-blue: #052454;
  --ab-blue-mid: #0a3a7a;
  --ab-green: #56ad56;
  --ab-bg: #ffffff;
  --ab-surface: #f4f7fb;
  --ab-border: #e2e8f0;
  --ab-text: #1a2942;
  --ab-muted: #3d4f66;
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: var(--ab-muted);
  background: var(--ab-bg);
  border: 1px solid var(--ab-border);
  border-radius: 0;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: none;
  -webkit-font-smoothing: antialiased;
}

/* Header — !important ca să nu fie suprascris de > div:not(.collapsable-block) */
.ab43-filter-module.filter-module .module-heading,
#column-left .filter-module .module-heading,
body.product-category #column-left .filter-module .module-heading,
body.product-filter #column-left .filter-module .module-heading {
  border: none;
  background: linear-gradient(135deg, var(--ab-blue) 0%, var(--ab-blue-mid) 100%) !important;
  background-image: linear-gradient(135deg, var(--ab-blue) 0%, var(--ab-blue-mid) 100%) !important;
  padding: 0;
}

.ab43-filter-module.filter-module .module-heading h3,
.ab43-filter-module.filter-module .module-heading .ab43-filter-heading,
#column-left .filter-module .module-heading h3,
#column-left .filter-module .module-heading .ab43-filter-heading,
body.product-category #column-left .filter-module .module-heading h3,
body.product-filter #column-left .filter-module .module-heading h3 {
  margin: 0;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff !important;
  line-height: 1.3;
  background: none !important;
  background-image: none !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ab43-filter-module.filter-module .ab43-filter-heading__title,
#column-left .filter-module .ab43-filter-heading__title {
  flex: 1 1 auto;
  min-width: 0;
}

.ab43-filter-module.filter-module .hide-button {
  display: none;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  color: #fff !important;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, transform 0.2s;
}

.ab43-filter-module.filter-module .hide-button i {
  font-size: 18px;
  line-height: 1;
  pointer-events: none;
}

.ab43-filter-module.filter-module .hide-button:hover {
  background: rgba(255, 255, 255, 0.32);
  transform: scale(1.05);
  color: #fff !important;
}

/* Sections */
.ab43-filter-module.filter-module .collapsable-block {
  border: none;
}

.ab43-filter-module.filter-module > div:not(.collapsable-block):not(.module-heading):not(.filter-button):not(.clear-filters),
.ab43-filter-module.filter-module > div:not(.module-heading) > div,
.ab43-filter-module.filter-module .collapsable-choices {
  border-left: none;
  border-right: none;
  border-bottom: 1px solid var(--ab-border);
  padding: 8px 10px;
  box-shadow: none;
  background: var(--ab-bg);
}

.ab43-filter-module.filter-module .collapsable-heading {
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  padding: 8px 10px;
  margin: 0;
  background: var(--ab-surface) !important;
  color: var(--ab-blue) !important;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--ab-border);
  transition: background 0.2s, color 0.2s;
}

.ab43-filter-module.filter-module .collapsable-heading:hover {
  background: #eef2f7 !important;
  color: var(--ab-blue-mid) !important;
}

.ab43-filter-module.filter-module .right-triangle,
.ab43-filter-module.filter-module .down-triangle,
#column-left .filter-module .right-triangle,
#column-left .filter-module .down-triangle {
  font-size: 10px;
  color: var(--ab-blue);
  flex: 0 0 auto;
  line-height: 1;
}

.ab43-filter-module.filter-module .clear-link,
#column-left .filter-module .clear-link {
  float: none;
  margin-left: auto;
  font-size: 10px !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ab-muted) !important;
  text-decoration: none;
  padding: 2px 8px;
  border-radius: 0;
  background: #fff;
  border: 1px solid var(--ab-border);
  cursor: pointer !important;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.ab43-filter-module.filter-module .clear-link:hover {
  color: var(--ab-blue) !important;
  border-color: var(--ab-blue);
  background: #fff;
}

.ab43-filter-module.filter-module .collapsable-choices {
  padding: 8px 10px 10px;
}

/* Filter chips */
.ab43-filter-module.filter-module .button-choice,
#column-left .filter-module .button-choice {
  background: #fff !important;
  border: 1px solid var(--ab-border) !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin: 2px 4px 2px 0 !important;
  padding: 4px 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--ab-text) !important;
  line-height: 1.35;
  cursor: pointer !important;
  user-select: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s, box-shadow 0.2s;
  box-shadow: 0 1px 2px rgba(5, 36, 84, 0.04);
}

.ab43-filter-module.filter-module .button-choice img {
  border-radius: 0;
  border: 1px solid var(--ab-border);
  background: #fff;
  padding: 2px;
  width: 34px !important;
  height: 34px !important;
  object-fit: contain;
}

.ab43-filter-module.filter-module .button-choice:hover {
  border-color: var(--ab-blue) !important;
  color: var(--ab-blue) !important;
  box-shadow: 0 4px 12px rgba(5, 36, 84, 0.1);
}

.ab43-filter-module.filter-module .button-choice.pressed {
  background: var(--ab-blue) !important;
  border-color: var(--ab-blue) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(5, 36, 84, 0.22);
}

.ab43-filter-module.filter-module .button-choice.pressed:hover {
  background: var(--ab-blue-mid) !important;
  border-color: var(--ab-blue-mid) !important;
  color: #fff !important;
}

.ab43-filter-module.filter-module .button-choice.image-only.pressed,
.ab43-filter-module.filter-module .button-choice.image-only.pressed:hover {
  background: var(--ab-surface) !important;
  border-color: var(--ab-blue) !important;
  box-shadow: 0 0 0 2px rgba(5, 36, 84, 0.15);
}

.ab43-filter-module.filter-module .button-choice[disabled] {
  opacity: 0.45;
}

/* Price slider — tooltip Lei rămâne în sidebar */
.ab43-filter-module.filter-module .price-filter .collapsable-choices,
.container.product-listing .filter-module .price-filter .collapsable-choices {
  padding: 8px 12px 10px !important;
  overflow: hidden;
}

.ab43-filter-module.filter-module .flexible-filter,
.container.product-listing .filter-module .flexible-filter {
  padding: 26px 10px 8px;
  margin: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.ab43-filter-module.filter-module div[id*='slider'],
.ab43-filter-module.filter-module div[id^='price-slider'],
.container.product-listing .filter-module div[id*='slider'],
.container.product-listing .filter-module div[id^='price-slider'] {
  margin: 0 auto 8px !important;
  width: calc(100% - 16px) !important;
  max-width: calc(100% - 16px) !important;
  box-sizing: border-box;
}

.ab43-filter-module.filter-module .noUi-target,
.container.product-listing .filter-module .noUi-target {
  border: none;
  box-shadow: none;
  background: var(--ab-border);
  border-radius: 0;
  height: 5px;
}

.ab43-filter-module.filter-module .noUi-connect,
.container.product-listing .filter-module .noUi-connect,
#column-left .filter-module .noUi-connect {
  background: linear-gradient(90deg, var(--ab-blue) 0%, var(--ab-blue-mid) 100%);
}

.ab43-filter-module.filter-module .noUi-handle,
.container.product-listing .filter-module .noUi-handle {
  width: 16px;
  height: 16px;
  right: -8px;
  top: -6px;
  border-radius: 0;
  border: 2px solid #fff;
  background: var(--ab-blue);
  box-shadow: none;
  cursor: grab;
}

.ab43-filter-module.filter-module .noUi-handle:before,
.ab43-filter-module.filter-module .noUi-handle:after,
.container.product-listing .filter-module .noUi-handle:before,
.container.product-listing .filter-module .noUi-handle:after {
  display: none;
}

.ab43-filter-module.filter-module .noUi-tooltip,
.container.product-listing .filter-module .noUi-tooltip {
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: var(--ab-blue);
  border: 1px solid var(--ab-border);
  border-radius: 0;
  padding: 2px 5px;
  background: #fff;
  line-height: 1.2;
  white-space: nowrap;
  box-sizing: border-box;
}

/* Min — aliniat la stânga mânerului */
.ab43-filter-module.filter-module .noUi-horizontal .noUi-handle-lower .noUi-tooltip,
.container.product-listing .filter-module .noUi-horizontal .noUi-handle-lower .noUi-tooltip {
  left: 0 !important;
  right: auto !important;
  transform: translate(0, 0) !important;
}

/* Max — aliniat la dreapta mânerului (nu iese din coloană) */
.ab43-filter-module.filter-module .noUi-horizontal .noUi-handle-upper .noUi-tooltip,
.container.product-listing .filter-module .noUi-horizontal .noUi-handle-upper .noUi-tooltip {
  left: auto !important;
  right: 0 !important;
  transform: translate(0, 0) !important;
}

/* Inputs */
.ab43-filter-module.filter-module input[type='text'],
.ab43-filter-module.filter-module .form-control,
.ab43-filter-module.filter-module .form-select {
  border: 1px solid var(--ab-border) !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-size: 12px;
  color: var(--ab-text);
  padding: 5px 8px;
  margin-bottom: 8px;
}

.ab43-filter-module.filter-module label {
  font-size: 13px;
  color: var(--ab-text);
  margin-bottom: 6px;
}

.ab43-filter-module.filter-module a.choice,
#column-left .filter-module a.choice {
  color: var(--ab-muted);
  padding: 6px 0;
  border-radius: 0;
  cursor: pointer !important;
  transition: color 0.2s, padding-left 0.2s;
}

/* Elemente clickable — mână la hover, nu cursor text (I-beam) */
.ab43-filter-module.filter-module .collapsable-heading,
#column-left .filter-module .collapsable-heading,
.ab43-filter-module.filter-module .collapsable-choices label,
#column-left .filter-module .collapsable-choices label,
.ab43-filter-module.filter-module .collapsable-choices > a,
#column-left .filter-module .collapsable-choices > a,
.ab43-filter-module.filter-module .clear-filters a,
#column-left .filter-module .clear-filters a,
.ab43-filter-module.filter-module .filter-button .button,
.ab43-filter-module.filter-module .filter-button a.button,
#column-left .filter-module .filter-button .button,
#column-left .filter-module .filter-button a.button,
.ab43-filter-module.filter-module .noUi-handle,
#column-left .filter-module .noUi-handle {
  cursor: pointer !important;
}

.ab43-filter-module.filter-module .collapsable-choices label,
#column-left .filter-module .collapsable-choices label {
  user-select: none;
}

.ab43-filter-module.filter-module a.choice:hover {
  color: var(--ab-blue);
  padding-left: 4px;
}

/* Footer actions */
.ab43-filter-module.filter-module .clear-filters {
  text-align: center;
  padding: 14px 16px !important;
  background: var(--ab-surface);
  border-bottom: none !important;
}

.ab43-filter-module.filter-module .clear-filters a {
  font-size: 12px !important;
  font-weight: 600;
  color: var(--ab-muted) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  background: none !important;
  border: none !important;
  border-radius: 0;
  padding: 0;
  margin: 0;
  transition: color 0.2s;
}

.ab43-filter-module.filter-module .clear-filters a:hover {
  color: var(--ab-blue) !important;
  border: none !important;
}

.ab43-filter-module.filter-module .filter-button {
  padding: 10px !important;
  border: none !important;
  background: var(--ab-bg);
  text-align: center;
}

.ab43-filter-module.filter-module .filter-button .button,
.ab43-filter-module.filter-module .filter-button .btn,
.ab43-filter-module.filter-module .filter-button a.button {
  display: block;
  width: 100%;
  padding: 9px 12px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  color: #fff !important;
  background: linear-gradient(135deg, var(--ab-blue) 0%, var(--ab-blue-mid) 100%) !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 20px rgba(5, 36, 84, 0.22);
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
  text-decoration: none !important;
}

.ab43-filter-module.filter-module .filter-button .button:hover,
.ab43-filter-module.filter-module .filter-button .btn:hover,
.ab43-filter-module.filter-module .filter-button a.button:hover {
  background: linear-gradient(135deg, var(--ab-blue-mid) 0%, var(--ab-blue) 100%) !important;
  box-shadow: 0 8px 24px rgba(5, 36, 84, 0.28);
  transform: translateY(-1px);
  color: #fff !important;
}

.ab43-filter-module.filter-module > div:last-child {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Mobile FAB — dreapta sus, albastru închis (fără var() — butonul e în body) */
button#filter-module-toggle.ab43-filter-fab,
#filter-module-toggle.ab43-filter-fab {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em;
  position: fixed;
  top: calc(96px + env(safe-area-inset-top, 0px));
  right: 12px;
  bottom: auto !important;
  left: auto !important;
  z-index: 100001;
  cursor: pointer !important;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 11px 16px !important;
  border: none !important;
  border-radius: 999px !important;
  -webkit-appearance: none;
  appearance: none;
  background-color: #052454 !important;
  background-image: linear-gradient(135deg, #052454 0%, #0a3a7a 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(5, 36, 84, 0.45);
  transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}

button#filter-module-toggle.ab43-filter-fab:hover,
button#filter-module-toggle.ab43-filter-fab:focus,
#filter-module-toggle.ab43-filter-fab:hover,
#filter-module-toggle.ab43-filter-fab:focus {
  transform: translateY(-1px);
  background-color: #0a3a7a !important;
  background-image: linear-gradient(135deg, #0a3a7a 0%, #052454 100%) !important;
  box-shadow: 0 10px 26px rgba(5, 36, 84, 0.5);
  color: #fff !important;
  outline: none;
}

button#filter-module-toggle.ab43-filter-fab i,
#filter-module-toggle.ab43-filter-fab i {
  font-size: 16px;
  line-height: 1;
  color: #fff !important;
}

button#filter-module-toggle.ab43-filter-fab .ab43-filter-fab__label,
#filter-module-toggle.ab43-filter-fab .ab43-filter-fab__label {
  line-height: 1.2;
  white-space: nowrap;
  color: #fff !important;
}

#filter-module-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(5, 36, 84, 0.5);
  z-index: 99999;
}

#filter-module-backdrop.is-open {
  display: block;
}

/* Tablet + telefon: panou overlay încadrat, închis implicit */
@media (max-width: 991px) {
  #column-left .filter-module,
  .ab43-filter-module.filter-module {
    max-width: none;
  }

  button#filter-module-toggle.ab43-filter-fab,
  #filter-module-toggle.ab43-filter-fab {
    display: inline-flex !important;
    background-color: #052454 !important;
    background-image: linear-gradient(135deg, #052454 0%, #0a3a7a 100%) !important;
    color: #fff !important;
  }

  .ab43-filter-module.filter-module .module-heading,
  #column-left .filter-module .module-heading {
    position: sticky;
    top: 0;
    z-index: 3;
  }

  .ab43-filter-module.filter-module .hide-button,
  #column-left .filter-module .hide-button {
    display: inline-flex !important;
    float: none;
  }

  .ab43-filter-module.filter-module,
  #column-left .filter-module,
  .filter-module {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh;
    height: 100dvh;
    margin: 0 !important;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 100000;
    border: none !important;
    border-radius: 0;
    box-shadow: none;
    background: #fff !important;
  }

  .ab43-filter-module.filter-module.is-open,
  .filter-module.is-open {
    display: block !important;
  }

  body.ab43-filter-open {
    overflow: hidden;
  }

  /* FAB ascuns cât timp panoul de filtre e deschis — reapare la X */
  body.ab43-filter-open button#filter-module-toggle.ab43-filter-fab,
  body.ab43-filter-open #filter-module-toggle.ab43-filter-fab,
  button#filter-module-toggle.ab43-filter-fab.is-hidden,
  #filter-module-toggle.ab43-filter-fab.is-hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }

  /* Sidebar ascuns pe tablet/telefon — filtrul e în overlay */
  #column-left.ab43-filter-moved {
    display: none !important;
  }

  body.product-category .container.product-listing > .row > #content,
  body.product-filter .container.product-listing > .row > #content,
  .container.product-listing > .row > #content.fluid-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (min-width: 992px) {
  #filter-module-toggle,
  #filter-module-backdrop {
    display: none !important;
  }

  .ab43-filter-module.filter-module .hide-button,
  #column-left .filter-module .hide-button {
    display: none !important;
  }
}

/* Content-top horizontal layout (if used) */
#content .ab43-filter-module.filter-module {
  border: 1px solid var(--ab-border);
  border-radius: 0;
}

#content .ab43-filter-module.filter-module .collapsable-heading {
  border: 1px solid var(--ab-border);
  border-radius: 0;
  margin-bottom: 6px;
}

/* Override legacy green rules in custom.css */
.ab43-filter-module.filter-module .button-choice.pressed {
  background-color: var(--ab-blue) !important;
  border-color: var(--ab-blue) !important;
}

.ab43-filter-module.filter-module .collapsable-heading {
  background-image: none !important;
}

/* Listing page H1 — brand blue #052454 */
.container.product-listing h1.ab43-page-title,
.container.product-listing h1.page-title.ab43-page-title,
#content h1.ab43-page-title,
#content h1.page-title.ab43-page-title,
h2.title-category.ab43-page-title {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: #052454 !important;
  text-transform: uppercase;
  margin: 0 0 20px;
  padding: 0;
  border: none;
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 767px) {
  .container.product-listing h1.ab43-page-title,
  .container.product-listing h1.page-title.ab43-page-title,
  #content h1.ab43-page-title,
  #content h1.page-title.ab43-page-title,
  h2.title-category.ab43-page-title {
    font-size: 17px;
    margin-bottom: 16px;
    line-height: 1.4;
  }
}

/* Fallback: filtru în sidebar (pagină filtrată / fără ab43-filter-module) */
.container.product-listing .filter-module,
#column-left .filter-module {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.container.product-listing .filter-module .module-heading,
#column-left .filter-module .module-heading {
  border: none !important;
  background: linear-gradient(135deg, #052454 0%, #0a3a7a 100%) !important;
  background-image: linear-gradient(135deg, #052454 0%, #0a3a7a 100%) !important;
}

.container.product-listing .filter-module .module-heading h3,
#column-left .filter-module .module-heading h3 {
  margin: 0 !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: left !important;
  background: none !important;
  background-image: none !important;
}

.container.product-listing .filter-module .collapsable-heading,
#column-left .filter-module .collapsable-heading {
  background: #f4f7fb !important;
  background-image: none !important;
  color: #052454 !important;
  font-weight: 600;
}

.container.product-listing .filter-module .button-choice.pressed,
#column-left .filter-module .button-choice.pressed {
  background-color: #052454 !important;
  border-color: #052454 !important;
  color: #fff !important;
}

.container.product-listing .filter-module .filter-button .button,
.container.product-listing .filter-module .filter-button .btn,
.container.product-listing .filter-module .filter-button a.button,
#column-left .filter-module .filter-button .button,
#column-left .filter-module .filter-button .btn,
#column-left .filter-module .filter-button a.button {
  background: linear-gradient(135deg, #052454 0%, #0a3a7a 100%) !important;
  border: none !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-weight: 600 !important;
}

/* Păstrăm grid Bootstrap (float) — doar filtrul rămâne compact în sidebar */
@media (min-width: 992px) {
  .container.product-listing > .row {
    display: block !important;
  }

  .container.product-listing > .row::before,
  .container.product-listing > .row::after {
    content: ' ';
    display: table;
  }

  .container.product-listing > .row::after {
    clear: both;
  }

  .container.product-listing > .row > #column-left {
    float: left !important;
    position: relative !important;
    width: 25% !important;
    max-width: none !important;
    flex: none !important;
  }

  .container.product-listing > .row > #content {
    float: left !important;
    position: relative !important;
    width: 75% !important;
    max-width: none !important;
    flex: none !important;
  }

  body.product-category .container.product-listing > .row > #content.fluid-sidebar {
    width: 74% !important;
  }
}

/* Compact + fără radius — toate elementele filtrului */
.ab43-filter-module.filter-module,
.ab43-filter-module.filter-module *,
.container.product-listing .filter-module,
.container.product-listing .filter-module .button-choice,
.container.product-listing .filter-module .clear-link,
.container.product-listing .filter-module .noUi-tooltip,
.container.product-listing .filter-module .filter-button .button,
.container.product-listing .filter-module .filter-button .btn {
  border-radius: 0 !important;
}

.ab43-filter-module.filter-module .button-choice img,
.container.product-listing .filter-module .button-choice img {
  width: 34px !important;
  height: 34px !important;
}

.container.product-listing .filter-module .collapsable-heading,
.container.product-listing .filter-module .collapsable-choices,
.container.product-listing .filter-module > div:not(.collapsable-block) {
  padding: 8px 10px !important;
}

/* Listing container: fluid on tablet + desktop */
@media (min-width: 768px) {
  body.product-category .container.product-listing,
  body.product-filter .container.product-listing,
  body.product-category .breadcrumbs .container,
  body.product-filter .breadcrumbs .container {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Keep product cards stable across JS grid toggles */
@media (min-width: 768px) and (max-width: 1199px) {
  .container.product-listing #content .products-list {
    display: flex;
    flex-wrap: wrap;
  }

  .container.product-listing #content .products-list > .product-layout.product-grid {
    width: 33.333333% !important;
    max-width: 33.333333% !important;
    flex: 0 0 33.333333% !important;
    clear: none !important;
  }
}

/* Desktop: force 5 products per row */
@media (min-width: 1200px) {
  .container.product-listing #content .products-list {
    display: flex;
    flex-wrap: wrap;
  }

  .container.product-listing #content .products-list > .product-layout.product-grid {
    width: 20% !important;
    max-width: 20% !important;
    flex: 0 0 20% !important;
    clear: none !important;
  }
}
