/* Vapovor catalogue — Figma system applied to native PrestaShop listings.
 * Markup, hooks, faceted navigation and AJAX updates remain owned by PrestaShop.
 */

body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) {
  --vvp-list-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, Arial, sans-serif;
  --vvp-list-page: var(--vvp-ds-page);
  --vvp-list-surface: #fff;
  --vvp-list-subtle: var(--vvp-ds-subtle);
  --vvp-list-ink: var(--vvp-ds-ink);
  --vvp-list-muted: var(--vvp-ds-muted);
  --vvp-list-action: var(--vvp-ds-action);
  --vvp-list-line: var(--vvp-ds-line);
  --vvp-list-accent: var(--vvp-ds-accent);
  color: var(--vvp-list-ink);
  background: var(--vvp-list-page);
  font-family: var(--vvp-list-font);
  font-size: 16px;
  line-height: 24px;
}

/* Shared catalogue palette. */
body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) {
  --vvp-list-accent: var(--vvp-color-action);
  --vvp-list-accent-hover: var(--vvp-color-action-hover);
  --vvp-list-accent-soft: var(--vvp-color-action-soft);
  --vvp-list-text-accent: var(--vvp-color-accent);
  --vvp-list-text-accent-hover: #9c2e52;
  --vvp-list-note-surface: var(--vvp-color-accent-soft);
  --vvp-list-primary: var(--vvp-list-accent);
  --vvp-list-primary-hover: var(--vvp-list-accent-hover);
  --vvp-list-selected-surface: var(--vvp-list-accent-soft);
  --vvp-list-selected-ink: var(--vvp-list-accent);
  --vvp-list-category-label: var(--vvp-list-text-accent);
}

body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #wrapper {
  color: var(--vvp-list-ink);
  background: var(--vvp-list-page);
}

body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #wrapper > .container-fluid {
  width: 100%;
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
  padding-right: clamp(32px, 5.5556vw, 80px);
  padding-left: clamp(32px, 5.5556vw, 80px);
}

body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #wrapper > .container-fluid > .row {
  margin-right: 0;
  margin-left: 0;
}

body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #main {
  min-width: 0;
  padding: 32px 0 64px;
}

body:not(#category) #wrapper > .container-fluid > .row {
  display: grid;
  grid-template-columns: minmax(232px, 272px) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}

body:not(#category) #left-column,
body:not(#category) #content-wrapper {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

body:not(#category) #left-column {
  position: sticky;
  top: 96px;
  z-index: 2;
  padding-top: 48px;
}

body:not(#category)
  #left-column:not(:has(#search_filters, #amazzing_filter)) {
  display: none;
  }

body:not(#category)
  #left-column:not(:has(#search_filters, #amazzing_filter)) + #content-wrapper {
  grid-column: 1 / -1;
  }

/* Listing headings outside category pages. */
body:not(#category) #main > #js-product-list-header,
body:is(#manufacturer, #supplier) #main > .block-category {
  margin: 0 0 32px;
  min-width: 0;
}
body:not(#category) #main > #js-product-list-header,
body:is(#manufacturer, #supplier) #main > .block-category h1 {
  margin: 0;
  color: var(--vvp-list-ink);
  font-family: var(--vvp-list-font);
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 48px;
  text-align: left;
  text-transform: none;
}
body:not(#category) #main > #js-product-list-header::after,
body:is(#manufacturer, #supplier) #main > .block-category h1::after {
  content: none;
}
body:is(#manufacturer, #supplier) #main > .block-category #manufacturer-short_description {
  max-width: 960px;
  margin: 12px 0 0;
  color: var(--vvp-list-muted);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
}
body:is(#manufacturer, #supplier) #main > .block-category #manufacturer-short_description p:last-child {
  margin-bottom: 0;
}

/* Category introduction: one reading order, followed by real category links.
 * Keep the native header ID so faceted navigation can replace it through AJAX. */
#js-product-list-header {
  display: block;
  min-width: 0;
  margin: 0 0 32px;
  padding: 0;
}
#js-product-list-header .vvp-category-intro {
  display: block;
  max-width: none;
  min-width: 0;
  margin: 0;
  text-align: left;
}
#js-product-list-header h1 {
  max-width: none;
  margin: 0;
  color: var(--vvp-list-ink);
  font-family: var(--vvp-list-font);
  font-size: clamp(36px, 5vw, 68px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.04;
  text-align: left;
  text-transform: none;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
body#category #category-description {
  max-width: none;
  margin: 12px 0 0;
  padding: 0;
  color: var(--vvp-list-muted);
  background: transparent;
  border-radius: 0;
  font-size: 17px;
  font-weight: 400;
  line-height: 26px;
  text-align: left;
  overflow-wrap: anywhere;
}
body#category #category-description p { margin: 0 0 10px; font-size: inherit; }
body#category #category-description > :last-child { margin-bottom: 0; }
body#category #category-description a {
  color: var(--vvp-list-text-accent, var(--vvp-list-accent));
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
body#category #category-description a:hover { color: var(--vvp-list-text-accent-hover, var(--vvp-list-ink)); }
#js-product-list-header .total-products { display: none; }

/* Some hook responses contain configuration scripts only, with no links. */
#js-product-list-header .vvp-category-links { display: none; }
#js-product-list-header .vvp-category-links:has(.arpl-category, .skrupt-categories) {
  display: block;
  min-width: 0;
  margin-top: 20px;
}
#js-product-list-header .vvp-category-links__title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
#js-product-list-header .vvp-category-links__title::after { content: none; }
#js-product-list-header .arpl-group { gap: 16px; }
#js-product-list-header .arpl-featured-categories {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#js-product-list-header .arpl-no-carousel-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  margin: 0;
  padding: 0;
}
#js-product-list-header .arpl-no-carousel-categories > .arpl-category {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
#js-product-list-header .arpl-cat-title {
  margin: 0;
  text-align: left;
}
#js-product-list-header .arpl-cat-title a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-width: 130px;
  max-width: 100%;
  min-height: 44px;
  padding: 11px 14px;
  color: var(--vvp-list-ink);
  background: var(--vvp-list-surface);
  border: 0;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  text-decoration: none;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: color 150ms ease, background-color 150ms ease;
}
#js-product-list-header .arpl-cat-title a::after {
  content: "";
  display: block;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  color: var(--vvp-list-muted);
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
}
#js-product-list-header .arpl-cat-title a:hover {
  color: var(--vvp-list-accent);
  background: var(--vvp-list-accent-soft);
}
#js-product-list-header .arpl-cat-title a:hover::after {
  color: var(--vvp-list-text-accent);
}
#js-product-list-header .arpl-cat-title a:focus-visible {
  outline: 2px solid var(--vvp-list-accent);
  outline-offset: 3px;
}
@media (max-width: 767px) {
  #js-product-list-header .arpl-no-carousel-categories {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  #js-product-list-header .arpl-cat-title { height: 100%; }
  #js-product-list-header .arpl-cat-title a {
    min-width: 0;
    height: 100%;
    min-height: 44px;
    gap: 10px;
    padding: 11px 12px;
    font-size: 14px;
    line-height: 22px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #js-product-list-header .arpl-cat-title a { transition: none; }
}

/* Approved C: a compact white introduction with its own category navigation. */
#js-product-list-header.vvp-category-header {
  display: block;
  padding: 32px;
  background: var(--vvp-list-surface);
  border-radius: 20px;
}
#js-product-list-header.vvp-category-header:has(.vvp-category-links .arpl-category, .vvp-category-links .skrupt-categories) { padding-bottom: 0; }
#js-product-list-header.vvp-category-header .vvp-category-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: end;
  gap: 12px clamp(28px, 4vw, 56px);
}
#js-product-list-header.vvp-category-header h1 {
  font-size: clamp(34px, 3.4vw, 48px);
  font-weight: 650;
  letter-spacing: -.04em;
  line-height: 1.08;
}
#js-product-list-header.vvp-category-header #category-description {
  justify-self: end;
  max-width: none;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
#js-product-list-header.vvp-category-header .vvp-category-intro:not(:has(#category-description)) h1 { grid-column: 1 / -1; }
#js-product-list-header.vvp-category-header .vvp-category-links:has(.arpl-category, .skrupt-categories) {
  width: 100%;
  max-width: none;
  margin-top: 28px;
  padding: 16px 0;
  border-top: 0;
}
/* The reveal action shares the category cards' surface and dimensions. */
#js-product-list-header .skc-reveal-slot { align-items: stretch; }
#js-product-list-header .skc-reveal {
  flex: 1 1 auto;
  width: 100%;
  min-height: var(--skc-min-height, 60px);
  margin: 0;
  padding: var(--skc-padding, 12px);
  justify-content: space-between;
  color: var(--skc-text-color, var(--vvp-list-accent));
  background: var(--skc-card-bg, var(--vvp-list-subtle));
  border-radius: var(--skc-radius, 18px);
  font-size: var(--skc-label-size, 14px);
}
#js-product-list-header .skc-reveal-slot--full .skc-reveal {
  flex: 0 1 auto;
  width: calc((100% + var(--skc-gap, 8px)) / var(--skc-columns, 2) - var(--skc-gap, 8px));
}
#js-product-list-header .skc-reveal:hover,
#js-product-list-header .skc-reveal:focus-visible { background: var(--skc-card-hover-bg, var(--vvp-list-accent-soft)); }
#js-product-list-header .skc-reveal:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
#js-product-list-header .skc-reveal span { text-decoration: none; }
#js-product-list-header.vvp-category-header .arpl-no-carousel-categories {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
  gap: 10px 12px;
}
#js-product-list-header.vvp-category-header .arpl-no-carousel-categories > .arpl-category:nth-child(n) { padding: 0; border-left: 0; }
#js-product-list-header.vvp-category-header .arpl-cat-title { height: 100%; }
#js-product-list-header.vvp-category-header .arpl-cat-title a {
  min-width: 0;
  min-height: 40px;
  height: 100%;
  gap: 12px;
  padding: 11px 16px;
  color: var(--vvp-list-accent);
  background: var(--vvp-list-subtle);
  border-radius: 999px;
  font-size: 14px;
}
#js-product-list-header.vvp-category-header .arpl-cat-title a::after { flex-basis: 16px; width: 16px; height: 16px; color: inherit; }
#js-product-list-header.vvp-category-header .arpl-cat-title a:hover { color: var(--vvp-list-accent); background: var(--vvp-list-accent-soft); }
/* Editorial arrangement on large screens, within the same white surface. */
@media (min-width: 992px) {
  #js-product-list-header.vvp-category-header:has(.vvp-category-links .arpl-category, .vvp-category-links .skrupt-categories) {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(40px, 5vw, 80px);
    padding-bottom: 32px;
  }
  #js-product-list-header.vvp-category-header .vvp-category-intro { display: block; }
  #js-product-list-header.vvp-category-header #category-description { margin-top: 18px; justify-self: start; }
  #js-product-list-header.vvp-category-header .vvp-category-links:has(.arpl-category, .skrupt-categories) {
    max-width: 480px;
    justify-self: end;
    margin-top: 0;
    padding: 0;
    border-top: 0;
  }
  #js-product-list-header.vvp-category-header .arpl-no-carousel-categories { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 10px 16px; }
  #js-product-list-header.vvp-category-header .arpl-no-carousel-categories > .arpl-category:nth-child(n) { padding: 0; border-left: 0; }
  #js-product-list-header.vvp-category-header .arpl-cat-title a {
    min-height: 48px;
    padding: 12px 18px;
    border-bottom: 0;
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  #js-product-list-header.vvp-category-header { padding: 24px 20px; border-radius: 18px; }
  #js-product-list-header.vvp-category-header:has(.vvp-category-links .arpl-category, .vvp-category-links .skrupt-categories) { padding-bottom: 0; }
  #js-product-list-header.vvp-category-header .vvp-category-intro { display: block; }
  #js-product-list-header.vvp-category-header h1 { font-size: 34px; }
  #js-product-list-header.vvp-category-header #category-description { margin-top: 18px; font-size: 14px; }
  #js-product-list-header.vvp-category-header .vvp-category-links:has(.arpl-category, .skrupt-categories) { margin-top: 24px; padding: 12px 0; }
  #js-product-list-header.vvp-category-header .arpl-no-carousel-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #js-product-list-header.vvp-category-header .arpl-cat-title a { min-height: 44px; gap: 8px; padding: 11px 12px; font-size: 13px; }
}
@media (pointer: coarse) {
  #js-product-list-header.vvp-category-header .arpl-cat-title a { min-height: 44px; }
}

/* Category layout */
body#category .vvp-category-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}

body#category .vvp-category-layout > .vvp-category-filters {
  grid-column: 1;
  min-width: 0;
}

body#category .vvp-category-layout > #products {
  grid-column: 2;
  min-width: 0;
  width: 100%;
}

body#category #products .af_pl_wrapper,
#js-product-list {
  min-width: 0;
  width: 100%;
}

/* Facets — native module and optional Amazzing Filter */
.vvp-search-filters-host,
.vvp-search-filters-host #search_filters_wrapper,
body#category #search_filters_wrapper {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (min-width: 992px) {
  body#category .vvp-category-filters {
    position: static;
    max-height: none;
    overflow: visible;
  }
}
#search_filters {
  margin: 0;
  padding: 0;
  color: var(--vvp-list-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#search_filters > .h6 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 24px;
  color: var(--vvp-list-ink);
  font-family: var(--vvp-list-font);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 24px;
  text-transform: none;
}
#search_filters .clear-all-wrapper {
  margin: 0;
}
#search_filters .clear-all-wrapper .btn {
  min-height: 44px;
  padding: 12px 0;
  color: var(--vvp-list-accent);
  background: transparent;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  text-transform: none;
}
#search_filters .facet {
  margin: 0;
  padding: 0 0 24px;
  border: 0;
  border-bottom: 0;
}
#search_filters .facet:first-of-type {
  padding-top: 0;
}
#search_filters .facet:last-child {
  border-bottom: 0;
}
#search_filters .facet .facet-title {
  margin: 0 0 8px;
  padding: 0;
  color: var(--vvp-list-ink);
  font-family: var(--vvp-list-font);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 20px;
  text-transform: none;
}
#search_filters .facet ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
}
#search_filters .facet li {
  margin: 0;
  padding: 0;
}
#search_filters .facet .facet-label {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin: 0;
  padding: 10px 0;
  color: var(--vvp-list-ink);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}
#search_filters .facet .facet-label a {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--vvp-list-ink);
  font-size: inherit;
  line-height: inherit;
  overflow-wrap: anywhere;
  text-decoration: none;
}
#search_filters .facet .magnitude {
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 8px;
  color: var(--vvp-list-muted);
  font-size: 14px;
}

#search_filters .custom-checkbox,
#search_filters .custom-radio {
  flex: 0 0 24px;
}
#search_filters .custom-checkbox input + span,
#search_filters .custom-radio input + span {
  width: 24px;
  height: 24px;
  margin: 0;
  background: var(--vvp-list-surface);
  border: 1px solid var(--vvp-ds-control);
  box-shadow: none;
  accent-color: var(--vvp-list-accent);
  flex-shrink: 0;
}

#search_filters .custom-checkbox input:checked + span,
#search_filters .custom-radio input:checked + span {
  border-color: var(--vvp-list-accent);
}

#search_filters .facet-dropdown,
#search_filters .facet-dropdown .select-title,
#search_filters .facet-dropdown .select-list {
  color: var(--vvp-list-ink);
  background: var(--vvp-list-surface);
}

#search_filters .facet-dropdown {
  padding: 0;
  border: 0;
  box-shadow: none;
}

#search_filters .facet-dropdown .select-title {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 12px;
  border: 1px solid var(--vvp-ds-control);
  border-radius: 12px;
}

#search_filters .custom-checkbox input:focus-visible + span,
#search_filters .custom-radio input:focus-visible + span,
#search_filters .facet-dropdown .select-title:focus-visible,
#js-product-list-top .products-sort-order .select-title:focus-visible {
  border-color: var(--vvp-list-accent);
}

#search_filters .facet-dropdown .dropdown-menu {
  width: 100%;
  margin-top: 6px;
  padding: 8px;
  background: var(--vvp-list-surface);
  border: 1px solid var(--vvp-list-line);
  border-radius: 12px;
  box-shadow: none;
}

#search_filters .facet-dropdown .select-list {
  display: block;
  padding: 9px 10px;
  border-radius: 6px;
  font-size: 14px;
}

#search_filters .facet-dropdown .select-list:hover {
  color: var(--vvp-list-ink);
  background: var(--vvp-list-subtle);
}


/* Amazzing Filter: retain native controls, selection and visibility states. */
#amazzing_filter {
  margin: 0;
  padding: 0;
  color: var(--vvp-list-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#amazzing_filter.block > .title_block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  color: var(--vvp-list-ink);
  font-family: var(--vvp-list-font);
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
  text-transform: none;
}
#amazzing_filter .vvp-filter-reset { margin: 0; }
#amazzing_filter .vvp-filter-reset a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 0;
  color: var(--vvp-list-muted);
  border: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: none;
}
#amazzing_filter .vvp-filter-reset a:hover { color: var(--vvp-list-ink); }
#amazzing_filter .vvp-filter-close { display: none; }
#amazzing_filter .af_filter {
  margin: 0;
  padding: 12px 0;
  border: 0;
  border-top: 1px solid var(--vvp-list-line);
}
#amazzing_filter .af_subtitle {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding: 0 24px 0 0;
  color: var(--vvp-list-ink);
  font-family: var(--vvp-list-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-transform: none;
  cursor: pointer;
}
#amazzing_filter .af_subtitle::before { content: none; }
#amazzing_filter .af_subtitle::after {
  content: '';
  position: absolute;
  right: 3px;
  top: 11px;
  width: 7px;
  height: 7px;
  margin: 0;
  border: 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(225deg);
  color: var(--vvp-list-muted);
}
#amazzing_filter .af_filter.closed .af_subtitle::after { transform: rotate(45deg); top: 8px; }
#amazzing_filter .af_filter_content { padding-top: 8px; }
#amazzing_filter .af_filter_content ul { margin: 0; padding: 0; }
#amazzing_filter .af_filter li { margin: 0; padding: 0; }
#amazzing_filter .af_filter label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  margin: 0;
  padding: 6px 0;
  color: var(--vvp-list-ink);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  cursor: pointer;
}
#amazzing_filter .af_filter .name {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  overflow-wrap: anywhere;
}
#amazzing_filter .af_filter .count {
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 4px;
  color: var(--vvp-list-muted);
  font-size: 12px;
}
#amazzing_filter .af_filter input.checkbox,
#amazzing_filter .af_filter input.radio {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--vvp-list-accent);
}
/* The module inserts the active-filter summary beside the sidebar. Keep the
 * sidebar spanning both summary and products so it cannot create a blank row. */
@media (min-width: 992px) {
  body#category .vvp-category-layout:has(> .selectedFilters:not(.hidden)) { row-gap: 16px; }
  body#category .vvp-category-layout:has(> .selectedFilters:not(.hidden)) > .vvp-category-filters { grid-row: 1 / span 2; }
  body#category .vvp-category-layout > .selectedFilters:not(.hidden) {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  body#category .vvp-category-layout:has(> .selectedFilters:not(.hidden)) > #products { grid-row: 2; }
}

/* Desktop filter panel: distinct surface and compact, content-sized choices. */
body:not(.has-compact-filter) #amazzing_filter {
  padding: 16px;
  background: var(--vvp-list-surface);
  border: 1px solid var(--vvp-list-line);
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(23, 24, 26, .025);
}
body:not(.has-compact-filter) #amazzing_filter.block > .title_block {
  margin: -16px -16px 12px;
  padding: 16px;
  border-bottom: 1px solid var(--vvp-list-line);
  border-radius: 16px 16px 0 0;
  background: var(--vvp-list-subtle);
  gap: 8px;
}
body:not(.has-compact-filter) #amazzing_filter > .title_block .vvp-filter-reset a {
  min-height: 32px;
  padding: 6px 8px;
  background: var(--vvp-list-surface);
  border: 1px solid var(--vvp-list-line);
  border-radius: 8px;
  color: var(--vvp-list-muted);
  font-size: 12px;
  line-height: 18px;
  text-decoration: none;
}
body:not(.has-compact-filter) #amazzing_filter > .title_block .vvp-filter-reset a:hover {
  border-color: var(--vvp-list-accent);
  color: var(--vvp-list-accent);
}
body:not(.has-compact-filter) #amazzing_filter .af_filter { padding: 10px 0; }
body:not(.has-compact-filter) #amazzing_filter .af_filter:first-of-type { border-top: 0; padding-top: 0; }
body:not(.has-compact-filter) #amazzing_filter .af_filter:last-of-type { padding-bottom: 0; }
body:not(.has-compact-filter) #amazzing_filter .af_subtitle {
  min-height: 36px;
  padding: 8px 24px 8px 8px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 20px;
}
body:not(.has-compact-filter) #amazzing_filter .af_subtitle::after { right: 10px; top: 15px; }
body:not(.has-compact-filter) #amazzing_filter .af_filter.closed .af_subtitle::after { top: 12px; }
body:not(.has-compact-filter) #amazzing_filter .af_filter:not(.closed) > .af_subtitle {
  color: var(--vvp-list-accent);
  background: var(--vvp-list-subtle);
  box-shadow: inset 2px 0 0 var(--vvp-list-accent);
}
body:not(.has-compact-filter) #amazzing_filter .af_subtitle:hover { background: var(--vvp-list-subtle); }
body:not(.has-compact-filter) #amazzing_filter .af_filter_content { padding-top: 12px; }
body:not(.has-compact-filter) #amazzing_filter .af_filter_content > ul:not(:has(> li:nth-child(13), .af-parent-category)) {
  max-height: none;
  overflow: visible;
}
body:not(.has-compact-filter) #amazzing_filter .af_filter label {
  width: 100%;
  min-height: 36px;
  padding: 8px;
  border-radius: 8px;
  text-align: left;
}
body:not(.has-compact-filter) #amazzing_filter .af_filter label:hover { background: var(--vvp-list-subtle); }
body:not(.has-compact-filter) #amazzing_filter .af_filter label:has(input:checked) {
  color: var(--vvp-list-accent);
  background: var(--vvp-list-subtle);
  font-weight: 500;
}
body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li { flex: 0 1 auto; max-width: 100%; }
body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label {
  position: relative;
  justify-content: center;
  gap: 6px;
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 34px;
  padding: 7px 10px;
  color: var(--vvp-list-ink);
  background: var(--vvp-list-subtle);
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  text-align: center;
  white-space: normal;
}
body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label .name { flex: 0 1 auto; }
body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip-path: inset(50%);
  overflow: hidden;
}
body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label:hover { border-color: var(--vvp-list-accent); }
body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label:has(input:checked) {
  color: #fff;
  background: var(--vvp-list-accent);
  border-color: var(--vvp-list-accent);
}
@media (forced-colors: active) {
  body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label input {
    position: static;
    width: 16px;
    height: 16px;
    margin: 0;
    clip-path: none;
    appearance: auto;
  }
  body:not(.has-compact-filter) #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label:has(input:checked) {
    color: CanvasText;
    background: Canvas;
    outline: 2px solid Highlight;
  }
}

/* Compact mode retains its natural-width, touch-sized choices. */
body.has-compact-filter #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: none;
}
body.has-compact-filter #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label {
  position: relative;
  justify-content: center;
  height: auto;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 14px;
  background: var(--vvp-list-subtle);
  border: 1px solid transparent;
  border-radius: 10px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
}
body.has-compact-filter #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip-path: inset(50%);
  overflow: hidden;
}
body.has-compact-filter #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li { flex: 0 1 auto; max-width: 100%; }
body.has-compact-filter #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label .name { flex: 0 1 auto; }
#amazzing_filter .af_filter label:has(input:checked) {
  color: var(--vvp-list-ink);
  font-weight: 600;
}
body.has-compact-filter #amazzing_filter .af_filter:is([data-type="1"], [data-type="2"]):not(.folderable):not(:has(.af-parent-category, .af-inline-colors, .customer-filter-label, li:nth-child(13))) > .af_filter_content > ul > li > label:has(input:checked) {
  color: #fff;
  background: var(--vvp-list-accent);
  border-color: var(--vvp-list-accent);
}
#amazzing_filter .af_filter label:has(input:checked) .count { color: inherit; }
#amazzing_filter .af_filter label:has(input:focus-visible) {
  outline: 2px solid var(--vvp-list-accent);
  outline-offset: 3px;
}
#amazzing_filter .af_filter label:hover { border-color: var(--vvp-list-accent); }
#amazzing_filter .af-quick-search { margin-bottom: 12px; }
#amazzing_filter .qsInput {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--vvp-list-ink);
  background: var(--vvp-list-surface);
  border: 1px solid var(--vvp-list-line);
  border-radius: 10px;
  font-family: var(--vvp-list-font);
  font-size: 16px;
  line-height: 24px;
}
#amazzing_filter .toggle-cut-off {
  margin-top: 12px;
  color: var(--vvp-list-accent);
  font-size: 14px;
  font-weight: 500;
}
#amazzing_filter .af_filter.expandable .toggle-cut-off { display: inline-flex; position: static; }
#amazzing_filter .af-slider { margin: 8px 0 0; }
#amazzing_filter .af-slider .slider-bar { margin: 18px 0 24px; padding: 0 12px; }
#amazzing_filter .af-slider .back-bar { height: 4px; border-radius: 999px; background: var(--vvp-list-line); }
#amazzing_filter .af-slider .selected-bar { background: var(--vvp-list-accent); }
#amazzing_filter .af-slider .pointer {
  top: -9px;
  width: 22px;
  height: 22px;
  margin-left: -11px;
  background: var(--vvp-list-surface);
  border: 2px solid var(--vvp-list-accent);
  box-shadow: none;
}
#amazzing_filter .af-slider .slider-values { display: flex; justify-content: space-between; gap: 12px; }
#amazzing_filter .af-slider .slider_value {
  float: none;
  min-width: 64px;
  min-height: 40px;
  margin: 0;
  padding: 8px 10px;
  color: var(--vvp-list-ink);
  background: var(--vvp-list-surface);
  border: 1px solid var(--vvp-list-line);
  border-radius: 8px;
  font-size: 14px;
  line-height: 22px;
  text-align: center;
}
#amazzing_filter .af-slider .slider_value.edit .input-text { font-size: 16px; line-height: 22px; }
#amazzing_filter .btn-holder > .vvp-filter-reset { display: none; }

/* Selected filters share the same quiet, removable-chip treatment, including
 * when the native module moves their summary above the product list. */
body:has(#amazzing_filter) .selectedFilters:not(.hidden) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: auto;
  margin: 0 0 16px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body:has(#amazzing_filter) .selectedFilters > .clearAll,
body:has(#amazzing_filter) .selectedFilters > .selected-filters-label { display: none; }
body:has(#amazzing_filter) .selectedFilters .cf {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  float: none;
  max-width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 3px 5px 3px 12px;
  color: var(--vvp-list-ink);
  background: var(--vvp-list-subtle);
  border: 1px solid var(--vvp-list-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
  text-transform: none;
  overflow-wrap: anywhere;
}
body:has(#amazzing_filter) .selectedFilters .cf a.close {
  position: static;
  display: inline-flex;
  flex: 0 0 32px;
  align-items: center;
  justify-content: center;
  float: none;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  color: var(--vvp-list-ink);
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
  opacity: 1;
  text-shadow: none;
}
body:has(#amazzing_filter) .selectedFilters .cf a.close:hover { background: var(--vvp-list-line); }
body:has(#amazzing_filter) .selectedFilters .cf a.close::before { font-family: inherit; }

/* Listing toolbar D: filters and count together, sorting at the opposite edge. */
#js-product-list-top.products-selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 24px;
}

#js-product-list-top .total-products {
  flex: 0 0 auto;
  padding: 0 13px;
  color: var(--vvp-list-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  border-radius: 0;
  min-height: 0;
  white-space: nowrap;
}

#js-product-list-top .total-products strong {
  color: var(--vvp-list-text-accent, var(--vvp-list-accent));
  font-weight: 600;
}

#js-product-list-top .vvp-listing-actions,
#js-product-list-top .sort-by-row {
  display: flex;
  align-items: center;
  gap: 2px;
}
#js-product-list-top .vvp-listing-actions { width: 100%; justify-content: space-between; gap: 24px; }
#js-product-list-top .vvp-listing-filter-group,
#js-product-list-top .sort-by-row {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 5px;
  background: var(--vvp-list-surface);
  border-radius: 19px;
}
#js-product-list-top .vvp-listing-filter-group { gap: 2px; flex: 0 0 auto; }
#js-product-list-top .vvp-listing-filter-group .filter-button { order: -1; }

#js-product-list-top .sort-by {
  margin: 0;
  padding-left: 12px;
  color: var(--vvp-list-muted);
  font-size: 12px;
  line-height: 20px;
  text-align: left;
  white-space: nowrap;
}

#js-product-list-top .products-sort-order {
  min-width: 150px;
  color: var(--vvp-list-ink);
}

#js-product-list-top .products-sort-order .select-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  color: var(--vvp-list-accent);
  background: transparent;
  border: 0;
  border-radius: 14px;
  box-shadow: none;
  font-family: var(--vvp-list-font);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
}
#js-product-list-top .products-sort-order .select-title .material-icons { display: none; }
#js-product-list-top .vvp-sort-icon { display: none; }
#js-product-list-top .vvp-sort-value { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#js-product-list-top .products-sort-order .select-title::after {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin: -4px 3px 0;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
#js-product-list-top .products-sort-order .select-title:hover { background: var(--vvp-list-subtle); }
#js-product-list-top .products-sort-order .select-title:focus-visible,
#js-product-list-top .filter-button .btn:focus-visible { outline: 2px solid var(--vvp-list-accent); outline-offset: 3px; }

#js-product-list-top .products-sort-order .dropdown-menu {
  right: 0;
  left: auto;
  min-width: max(100%, 220px);
  max-width: calc(100vw - 48px);
  margin: 6px 0 0;
  padding: 6px;
  overflow: hidden;
  background: var(--vvp-list-surface);
  border: 0;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(38, 59, 99, .12);
}

#js-product-list-top .products-sort-order .select-list {
  display: block;
  padding: 10px 12px;
  color: var(--vvp-list-ink);
  border-radius: 8px;
  font-size: 14px;
  line-height: 20px;
  min-height: 44px;
}

#js-product-list-top .products-sort-order .select-list:hover,
#js-product-list-top .products-sort-order .select-list.current {
  color: var(--vvp-list-ink);
  background: var(--vvp-list-subtle);
}

#js-product-list-top .filter-button .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  margin: 0;
  padding: 10px 16px;
  color: #fff;
  background: var(--vvp-list-accent);
  border: 0;
  border-radius: 14px;
  box-shadow: none;
  font-family: var(--vvp-list-font);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-transform: none;
}
#js-product-list-top .filter-button .btn:hover,
#js-product-list-top .filter-button .btn[aria-expanded="true"] { color: #fff; background: var(--vvp-list-accent-hover); }
#js-product-list-top .filter-button .vvp-filter-count:not([hidden]) { color: var(--vvp-list-accent); background: #fff; }

#js-product-list-top .filter-button .material-icons {
  margin: 0;
  font-size: 18px;
  line-height: 18px;
}

/* Active filters */
#products .active_filters {
  margin: 0 0 24px;
  padding: 0;
  background: transparent;
}

#products .active_filters .active-filter-title {
  display: none;
}

#products .active_filters ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}

#products .active_filters .filter-block {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: 0;
  padding: 12px;
  color: var(--vvp-list-selected-ink, var(--vvp-list-ink));
  background: var(--vvp-list-selected-surface, var(--vvp-list-subtle));
  border: 0;
  border-radius: 12px;
  font-size: 14px;
  line-height: 20px;
}

#products .active_filters .filter-block .close {
  margin: 0;
  color: var(--vvp-list-ink);
  font-size: 16px;
  line-height: 1;
  opacity: .75;
}

/* Product grid and cards */
#js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  margin: 0;
  padding: 0;
}

#js-product-list .products > .product {
  display: flex;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

/* Pagination and auxiliary content */
#js-product-list .pagination {
  grid-column: 1 / -1;
  width: 100%;
  margin: 32px 0 0;
  font-size: 14px;
  color: var(--vvp-list-muted);
}

#js-product-list .pagination .page-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

#js-product-list .pagination .page-list li {
  display: inline-flex;
}

#js-product-list .pagination a,
#js-product-list .pagination .spacer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  color: var(--vvp-list-ink);
  background: transparent;
  border: 0;
  border-radius: 12px;
  font-weight: 500;
  text-decoration: none;
}

#js-product-list .pagination .previous,
#js-product-list .pagination .next {
  background: var(--vvp-list-surface);
  border: 1px solid var(--vvp-list-line);
}

#js-product-list .pagination .current a {
  color: #fff;
  background: var(--vvp-list-primary, var(--vvp-list-action));
}

body#category #main > .fscustomhtml,
body#category #main > [class*="category-description"],
body#category #main > [class*="category-footer"] {
  margin-top: 48px;
}

#products #dmu_desc_category.category-longdesc {
  margin: 48px 0 0;
  padding: 24px;
  color: var(--vvp-list-ink);
  background: var(--vvp-list-surface);
  border: 0;
  border-radius: 16px;
  box-shadow: none;
  font-size: 16px;
  line-height: 24px;
  overflow-wrap: anywhere;
}

#products #dmu_desc_category.category-longdesc h2 {
  margin: 0 0 16px;
  color: var(--vvp-list-ink);
  font-size: 28px;
  font-weight: 600;
  line-height: 36px;
}

#products #dmu_desc_category.category-longdesc h3 {
  margin: 24px 0 12px;
  color: var(--vvp-list-ink);
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

#products #dmu_desc_category.category-longdesc p {
  color: inherit;
  line-height: inherit;
  text-align: left;
}

#products #dmu_desc_category.category-longdesc :last-child {
  margin-bottom: 0;
}

body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) :is(a, button, input, [tabindex]):focus-visible {
  outline: 2px solid var(--vvp-list-accent);
  outline-offset: 3px;
}

@media (max-width: 1199px) {
  #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) and (max-width: 1199px) {
  body#category #js-product-list .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #js-product-list .product-miniature .product-card-add,
  #js-product-list .product-miniature .product-card-link { transition: none; }
}

@media (max-width: 991px) {
  body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #wrapper > .container-fluid {
    padding-right: 24px;
    padding-left: 24px;
  }

  body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #main {
    padding-top: 24px;
    padding-bottom: 48px;
  }

  body:not(#category) #wrapper > .container-fluid > .row,
  body#category .vvp-category-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  body:not(#category) #left-column,
  body#category .vvp-category-layout > .vvp-category-filters {
    position: static;
    grid-column: 1;
    grid-row: auto;
    display: block;
    width: 100%;
    height: 0;
    min-height: 0;
    padding: 0;
    overflow: visible;
  }

  body:not(#category) #content-wrapper,
  body#category .vvp-category-layout > #products {
    grid-column: 1;
    grid-row: auto;
  }

  .vvp-search-filters-host #search_filters_wrapper.hidden-sm-down,
  body#category #search_filters_wrapper.hidden-sm-down {
    display: none !important;
  }

  body:not(#category) #left-column:has(#search_filters_wrapper:not(.hidden-sm-down)),
  body#category .vvp-category-filters:has(#search_filters_wrapper:not(.hidden-sm-down)) {
    height: auto;
  }

  #search_filters_wrapper:not(.hidden-sm-down) {
    display: block;
    width: 100%;
    margin-bottom: 24px;
    padding: 20px;
    background: var(--vvp-list-surface);
    border: 1px solid var(--vvp-list-line);
    border-radius: 12px;
  }

  #search_filter_controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
  }

  #search_filter_controls .ok {
    min-height: 48px;
    margin-left: auto;
    padding: 12px 16px;
    color: #fff;
    background: var(--vvp-list-primary, var(--vvp-list-action));
    border: 0;
    border-radius: 12px;
    box-shadow: none;
  }

  #search_filter_controls .ok .material-icons {
    margin-right: 6px;
  }

  #search_filters .facet .title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
  }

  #search_filters .facet .title .facet-title {
    margin: 0;
  }

  #js-product-list-top.products-selection {
    align-items: flex-end;
  }

  #js-product-list-top .vvp-listing-actions {
    flex: 1 1 auto;
    justify-content: space-between;
  }

  /* Amazzing Filter provides its own compact trigger and side panel. */
  body:has(#amazzing_filter) #js-product-list-top .filter-button {
    display: block !important;
  }

  #js-product-list-top .filter-button.vvp-filter-unavailable {
    display: none !important;
  }

  body:not(:has(#amazzing_filter)):not(:has(#search_filters_wrapper)) #js-product-list-top .filter-button {
    display: none !important;
  }

  body.has-compact-filter #amazzing_filter .compact-toggle {
    opacity: 0;
    pointer-events: none;
  }
}

/* Use the same breakpoint as the category layout and filter toolbar.
 * The module detects its mode from position, before it adds body classes. */
@media (max-width: 991px) {
  body #amazzing_filter.af { position: fixed; opacity: 0; }
}
@media (min-width: 992px) {
  body #amazzing_filter.af { position: static; opacity: 1; }
}

/* Category filters use the same native compact sheet at every screen width. */
body#category #amazzing_filter.af { position: fixed; }
body#category:not(.has-compact-filter) #amazzing_filter.af { opacity: 0; }
body#category:has(#amazzing_filter) .vvp-category-layout { display: block; }
body#category:has(#amazzing_filter) .vvp-category-layout > .vvp-category-filters {
  position: static;
  height: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}
body#category:has(#amazzing_filter) .vvp-category-layout > #products { width: 100%; }
body#category:has(#amazzing_filter) #js-product-list-top .filter-button { display: block !important; }
body#category:has(#amazzing_filter) #js-product-list-top .filter-button .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
body#category #amazzing_filter .compact-toggle { opacity: 0; pointer-events: none; }
body#category:has(#amazzing_filter) #js-product-list-top.products-selection {
  flex-wrap: wrap;
  row-gap: 16px;
}
#js-product-list-top .vvp-active-filters[hidden],
#js-product-list-top .vvp-filter-count[hidden] { display: none; }
#js-product-list-top .vvp-active-filters:not([hidden]) {
  display: flex;
  flex: 0 0 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin: 0;
}
#js-product-list-top .vvp-active-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-height: 38px;
  padding: 3px 5px 3px 12px;
  color: var(--vvp-list-selected-ink, var(--vvp-list-ink));
  background: var(--vvp-list-selected-surface, var(--vvp-list-subtle));
  border: 1px solid var(--vvp-list-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}
#js-product-list-top .vvp-active-filter__label { min-width: 0; overflow-wrap: anywhere; }
#js-product-list-top .vvp-active-filter__remove {
  display: inline-flex;
  flex: 0 0 32px;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  color: var(--vvp-list-ink);
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-family: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
#js-product-list-top .vvp-active-filter__remove:hover { background: var(--vvp-list-line); }
#js-product-list-top .vvp-filter-count:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  color: #fff;
  background: var(--vvp-list-accent);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
}

/* Compact filter sheet: the module still controls open, close and applying. */
body.has-compact-filter.show-filter .vapochat-launcher,
body.has-compact-filter.show-filter #skrupt-consent-widget { display: none; }
body.has-compact-filter #amazzing_filter.af {
  opacity: 1;
  display: flex;
  flex-direction: column;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 560px;
  height: calc(100vh - 48px);
  height: calc(100dvh - 48px);
  max-height: 900px;
  margin: 0 auto;
  padding: 0;
  background: var(--vvp-list-surface);
  border: 0;
  border-radius: 24px 24px 0 0;
  overflow: hidden;
  transform: translateY(calc(100% + 24px));
  box-shadow: 0 -8px 32px rgba(0, 0, 0, .08);
}
body.has-compact-filter.show-filter #amazzing_filter.af { transform: translateY(0); }
body.has-compact-filter #amazzing_filter.animation-ready { transition: transform 180ms ease; }
body.has-compact-filter #amazzing_filter.block > .title_block {
  display: flex;
  flex: 0 0 auto;
  min-height: 84px;
  margin: 0;
  padding: 20px 24px;
  font-size: 28px;
  line-height: 36px;
}
body.has-compact-filter #amazzing_filter > .title_block .vvp-filter-reset { display: none; }
body.has-compact-filter #amazzing_filter .vvp-filter-close {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  color: var(--vvp-list-ink);
  background: var(--vvp-list-subtle);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
body#category #amazzing_filter .vvp-filter-close:focus {
  outline: 2px solid var(--vvp-list-accent);
  outline-offset: 3px;
}
#amazzing_filter .vvp-filter-close span { position: relative; width: 16px; height: 16px; }
#amazzing_filter .vvp-filter-close span::before,
#amazzing_filter .vvp-filter-close span::after {
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  width: 16px;
  height: 1.5px;
  background: currentColor;
  transform: rotate(45deg);
}
#amazzing_filter .vvp-filter-close span::after { transform: rotate(-45deg); }
body.has-compact-filter #amazzing_filter .block_content {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  padding: 0 24px calc(108px + env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
}
body.has-compact-filter #amazzing_filter .af-form { padding: 0; }
body.has-compact-filter #amazzing_filter .af_filter { padding: 16px 0; }
body.has-compact-filter #amazzing_filter .af_filter:first-of-type { border-top: 0; padding-top: 0; }
body.has-compact-filter #amazzing_filter .af_subtitle { min-height: 36px; font-size: 16px; line-height: 24px; }
body.has-compact-filter #amazzing_filter .af_filter_content { padding-top: 14px; }
body.has-compact-filter #amazzing_filter .af_filter label { min-height: 44px; font-size: 14px; }
body.has-compact-filter #amazzing_filter .btn-holder:not(.hidden) {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px calc(16px + env(safe-area-inset-bottom));
  background: var(--vvp-list-surface);
  border-top: 1px solid var(--vvp-list-line);
}
body.has-compact-filter #amazzing_filter .btn-holder > .vvp-filter-reset { display: block; flex: 0 0 auto; }
body.has-compact-filter #amazzing_filter .btn-holder > .vvp-filter-reset a { font-size: 14px; }
body.has-compact-filter #amazzing_filter .viewFilteredProducts:not(.hidden) {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 4px;
  width: auto;
  min-height: 48px;
  margin: 0;
  padding: 12px;
  color: #fff;
  background: var(--vvp-list-primary, var(--vvp-list-action));
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  font-family: var(--vvp-list-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
}
body.has-compact-filter #amazzing_filter .viewFilteredProducts:not(.hidden):hover { background: var(--vvp-list-primary-hover, var(--vvp-list-ink)); }
body.has-compact-filter.show-filter .af-compact-overlay { background: #17181a; opacity: .38; }
@media (prefers-reduced-motion: reduce) {
  body.has-compact-filter #amazzing_filter.animation-ready { transition: none; }
}

@media (max-width: 767px) {
  #js-product-list .product-miniature .thumbnail-container { border-radius: 16px; }
  #js-product-list .product-miniature .product-data { padding: 12px; gap: 5px; }
  #js-product-list .product-miniature .product-brand,
  #js-product-list .product-miniature .product-line,
  #js-product-list .product-miniature .feature-value { font-size: 12px; line-height: 18px; }
  #js-product-list .product-miniature .product-title a { font-size: 14px; line-height: 20px; min-height: 40px; }
  #js-product-list .product-miniature .price { font-size: 14px; line-height: 20px; padding-top: 10px; }
  #js-product-list .product-miniature .product-card-add,
  #js-product-list .product-miniature .product-card-link { font-size: 12px; padding: 10px 6px; }
  #js-product-list .product-miniature .product-card-add .material-icons { display: none; }
  #js-product-list .product-miniature .product-card-link span { display: inline; position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
}

@media (max-width: 575px) {
  body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #wrapper > .container-fluid {
    padding-right: 24px;
    padding-left: 24px;
  }

  body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #main {
    padding-top: 24px;
    padding-bottom: 48px;
  }

  #js-product-list-header,
  body:not(#category) #main > #js-product-list-header,
  body:is(#manufacturer, #supplier) #main > .block-category {
    margin-bottom: 32px;
  }

  body#category #category-description {
    margin-top: 12px;
    font-size: 16px;
    line-height: 24px;
  }
  #js-product-list-header h1 {
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -.03em;
  }

  body:not(#category) #main > #js-product-list-header,
  body:is(#manufacturer, #supplier) #main > .block-category h1 {
    font-size: 28px;
    letter-spacing: 0;
    line-height: 36px;
  }

  #js-product-list-top.products-selection {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
  }

  #js-product-list-top .vvp-listing-actions {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 8px;
    width: 100%;
    padding: 0;
    background: transparent;
    border-radius: 0;
  }
  #js-product-list-top .vvp-listing-filter-group { display: contents; }
  #js-product-list-top .total-products {
    grid-column: 2;
    grid-row: 1;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    font-size: 14px;
    line-height: 20px;
  }
  #js-product-list-top .total-products strong { font-size: 14px; line-height: 20px; }
  #js-product-list-top .vvp-listing-filter-group .filter-button { grid-column: 1; grid-row: 1; order: 0; }

  #js-product-list-top .filter-button,
  #js-product-list-top .filter-button .btn {
    width: 100%;
  }

  #js-product-list-top .sort-by-row {
    min-width: 0;
    grid-column: 3;
    grid-row: 1;
    padding: 0;
    border-radius: 14px;
  }

  #js-product-list-top .sort-by {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }

  #js-product-list-top .products-sort-order {
    width: 100%;
    min-width: 0;
  }

  #js-product-list-top .products-sort-order .select-title,
  #js-product-list-top .filter-button .btn {
    position: relative;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    justify-content: center;
    font-size: 14px;
    white-space: normal;
  }
  #js-product-list-top .products-sort-order .select-title { gap: 0; }
  #js-product-list-top .products-sort-order .select-title::after { display: none; }
  #js-product-list-top .vvp-sort-value,
  #js-product-list-top #search_filter_toggler > span:not(.vvp-filter-count) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  #js-product-list-top .vvp-sort-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; }
  #js-product-list-top .filter-button .material-icons { font-size: 20px; line-height: 20px; }
  #js-product-list-top .filter-button .vvp-filter-count:not([hidden]) {
    position: absolute;
    top: -5px;
    right: -5px;
    border: 2px solid var(--vvp-list-page);
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
  }


  #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  #js-product-list .product-miniature .product-flags {
    top: 8px;
    left: 8px;
    max-width: calc(100% - 56px);
  }

  #js-product-list .product-miniature .product-flags li.product-flag {
    min-height: 24px;
    padding: 2px 6px;
    font-size: 11px;
  }
}

@media (max-width: 340px) {
  body:is(#category, #manufacturer, #supplier, #search, #module-skruptsearch-Search, #prices-drop, #new-products, #best-sales) #wrapper > .container-fluid {
    padding-right: 16px;
    padding-left: 16px;
  }

  #js-product-list .products {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Shared category heading. The navigation and guide are optional;
 * the category module owns its visual rail and keeps its configured sources. */
body#category #js-product-list-header.vvp-category-header--visuals {
  display: block;
  grid-template-columns: none;
  margin: 0;
  padding: var(--vvp-hero-space-start) 0 var(--vvp-hero-space-end);
  background: transparent;
  border: 0;
  border-radius: 0;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--vvp-ui-space-2,8px);
}
body#category #js-product-list-header.vvp-category-header--visuals h1 {
  min-width: 0;
  margin: 0;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.1;
}
body#category #js-product-list-header.vvp-category-header--visuals #category-description {
  flex: 0 0 auto;
  max-width: 100%;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}
body#category #js-product-list-header.vvp-category-header--visuals #category-description p {
  margin: 0 0 10px;
}
body#category #js-product-list-header.vvp-category-header--visuals #category-description > :last-child {
  margin-bottom: 0;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-guide {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 8px;
  row-gap: 0;
  margin: 0;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-guide-prompt {
  color: var(--vvp-list-muted);
  font-weight: 400;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-guide a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  max-width: 100%;
  padding: 0;
  color: var(--vvp-list-action);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: #a9b4c5;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-guide a::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-guide a:hover {
  color: var(--vvp-list-action);
  background: transparent;
  text-decoration-color: currentColor;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-guide a:focus-visible {
  outline: 2px solid var(--vvp-list-action);
  outline-offset: 3px;
}
body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-links {
  width: 100%;
  max-width: none;
  margin: 12px 0 0;
  padding: 0;
  justify-self: stretch;
  border: 0;
}
@media (max-width: 767px) {
  body#category #js-product-list-header.vvp-category-header--visuals h1 {
    font-size: clamp(26px, 7.2vw, 28px);
    line-height: 1.12;
  }
  body#category #js-product-list-header.vvp-category-header--visuals #category-description {
    max-width: none;
    font-size: 12px;
    text-align: left;
  }
  body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-guide a {
    min-height: 44px;
  }
  body#category #js-product-list-header.vvp-category-header--visuals .vvp-category-links {
    margin-top: 12px;
  }
}

/* Match the product purchase band in both catalogue dock states. */
body#category .skf-dock { background: var(--vvp-color-subtle); }
