/*
 * Category and product listing composition for the Plastem Figma reference.
 * This file is loaded only on PrestaShop category pages. It deliberately does
 * not alter the shared header, navigation, reassurance bar or footer.
 */

/* Remove the theme's generic space before the shared newsletter. */
body.page-category #center-column.page {
  padding-bottom: 0 !important;
}

/* The FAQ is not shown on intermediate category directories. */
body.page-category.codex-category-intermediate .hifaqquestions--category {
  display: none !important;
}

/* Product listings expose published questions and answers only.  The call to
   action stays exclusive to a product page, where a question can be linked to
   one precise product. */
body.page-category.codex-product-listing-page .hifaqquestions--category .hifaqquestions__aside,
body.page-category.codex-empty-product-listing-page .hifaqquestions--category .hifaqquestions__aside {
  display: none !important;
}

body.page-category.codex-product-listing-page .hifaqquestions--category .hifaqquestions__body,
body.page-category.codex-empty-product-listing-page .hifaqquestions--category .hifaqquestions__body {
  display: block !important;
}

body.page-category.codex-product-listing-page .hifaqquestions--category .hifaqquestions__list,
body.page-category.codex-empty-product-listing-page .hifaqquestions--category .hifaqquestions__list {
  width: 100% !important;
}

body.page-category main.wrapper > .breadcrumb__wrapper {
  display: none !important;
}

body.page-category .columns-container.container,
body.page-category #center-column,
body.page-category #content,
body.page-category #content > .elementor,
body.page-category #content > .elementor > .elementor-section-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-category #content > .elementor > .elementor-section-wrap > section.elementor-section-stretched {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  left: 0 !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-category .aw-page-hero {
  box-sizing: border-box !important;
  position: relative !important;
  height: 272px !important;
  min-height: 272px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-position: center center !important;
  background-size: cover !important;
}

/* The English Creative Elements theme does not emit the French theme's
   category-cover declaration. Keep the same cover image for every English
   intermediate category, without changing product listing covers. */
body.lang-en.page-category.codex-category-intermediate .aw-page-hero {
  background-image: url("/img/cms/plastem-ce/refonte/caps-colorful.png") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Initial paint: resolve the banner directly in CSS, before deferred JS
   executes. The root has no self-link in its breadcrumb; descendants do. */
body.page-category.category-id-1010 .aw-page-hero,
body.lang-en.page-category.category-id-1010 .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1010-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1010-"]) .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1010-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1010-"]) .aw-page-hero,
/* Protection family category directories only: product listing heroes keep
   their own category cover, while the parent and intermediate pages share
   the supplied protection-cap banner in French and English. */
body.page-category.codex-category-intermediate.codex-protection-family-intermediate .aw-page-hero {
  background-image: url("/themes/hummingbird/assets/img/cms/bouchons-protection-banderole.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Bumpers, feet and glides: use the supplied family banner at first paint on
   the parent and on category directories beneath it. Product listings remain
   outside these selectors because they do not contain subcategory cards. */
body.page-category.category-id-1027 .aw-page-hero,
body.lang-en.page-category.category-id-1027 .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1027-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1027-"]) .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1027-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1027-"]) .aw-page-hero {
  background-image: url("/themes/hummingbird/assets/img/cms/butees-pieds-patins-banderole.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Fasteners: same first-paint treatment for category directories only. */
body.page-category.category-id-1026 .aw-page-hero,
body.lang-en.page-category.category-id-1026 .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1026-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1026-"]) .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1026-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1026-"]) .aw-page-hero {
  background-image: url("/themes/hummingbird/assets/img/cms/visserie-banderole.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Cable ties, clamps and guns: same category-directory treatment. */
body.page-category.category-id-1031 .aw-page-hero,
body.lang-en.page-category.category-id-1031 .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1031-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1031-"]) .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1031-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1031-"]) .aw-page-hero {
  background-image: url("/themes/hummingbird/assets/img/cms/liens-colliers-serrage-banderole.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Finishing caps: same first-paint treatment for category directories only. */
body.page-category.category-id-1020 .aw-page-hero,
body.lang-en.page-category.category-id-1020 .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1020-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.breadcrumb__wrapper a.breadcrumb-link[href*="/1020-"]) .aw-page-hero,
body.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1020-"]) .aw-page-hero,
body.lang-en.page-category:has(.aw-category-subcategories .ce-article):has(.aw-breadcrumb a[href*="/1020-"]) .aw-page-hero {
  background-image: url("/themes/hummingbird/assets/img/cms/bouchons-finition-banderole.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.page-category .aw-page-hero > .elementor-container,
body.page-category .aw-page-hero > .elementor-container > .elementor-row {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 272px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

body.page-category .aw-page-hero > .elementor-container > .elementor-row > .elementor-column {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.page-category .aw-page-hero::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  display: block !important;
  background: rgba(3, 9, 55, 0.48) !important;
}

body.page-category .aw-page-title,
body.page-category .aw-page-title .elementor-widget-container {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 36px !important;
  text-align: center !important;
}

body.page-category .aw-page-title .elementor-heading-title {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(30px, 2.15vw, 42px) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-shadow: 0 3px 10px rgba(0, 0, 0, 0.35) !important;
}

/* Category overview: five cards on the first row and three centred cards on
   the second row, as in the supplied 1-Home/category reference. */
body.category-id-1010 .aw-category-dynamic {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 40px 0 45px !important;
  background: #ffffff !important;
}

body.category-id-1010 .aw-category-dynamic > .elementor-container,
body.category-id-1010 .aw-category-dynamic > .elementor-container > .elementor-row,
body.category-id-1010 .aw-category-dynamic .elementor-column,
body.category-id-1010 .aw-category-dynamic .elementor-column-wrap,
body.category-id-1010 .aw-category-dynamic .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.category-id-1010 .aw-category-dynamic > .elementor-container {
  width: calc(100% - 150px) !important;
  max-width: 1770px !important;
  margin: 0 auto !important;
}

body.category-id-1010 .aw-category-dynamic .aw-breadcrumb,
body.category-id-1010 .aw-category-dynamic .aw-category-subcats {
  display: none !important;
}

body.category-id-1010 .aw-category-subcategories,
body.category-id-1010 .aw-category-subcategories .elementor-widget-container,
body.category-id-1010 .aw-category-subcategories .ce-articles {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.category-id-1010 .aw-category-subcategories .ce-articles {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-rows: 238px !important;
  column-gap: 28px !important;
  row-gap: 56px !important;
}

body.category-id-1010 .aw-category-subcategories .ce-articles::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 259px !important;
  right: 0 !important;
  left: 0 !important;
  height: 1px !important;
  background: #e6e6e6 !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  width: auto !important;
  height: 238px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 8px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  text-align: center !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article:nth-child(6) {
  grid-column: 2 !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article:nth-child(7) {
  grid-column: 3 !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article:nth-child(8) {
  grid-column: 4 !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__thumbnail {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 122px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__thumbnail img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 152px !important;
  max-height: 122px !important;
  object-fit: contain !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__text {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 106px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__title {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 45px !important;
  min-height: 45px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #be801c !important;
  font-size: 18px !important;
  line-height: 22px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__title a {
  color: inherit !important;
  text-decoration: none !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__subtitle {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 18px !important;
  overflow: hidden !important;
  color: #8a8a8a !important;
  font-size: 12px !important;
  line-height: 18px !important;
  text-align: center !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__excerpt {
  display: -webkit-box !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-height: 42px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #101a44 !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-align: center !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

body.category-id-1010 .aw-category-subcategories .ce-article__cta,
body.category-id-1010 .aw-listing-products {
  display: none !important;
}

body.category-id-1010 .aw-category-text {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 58px 0 70px !important;
  background: #eff3fb !important;
}

body.category-id-1010 .aw-category-text > .elementor-container,
body.category-id-1010 .aw-category-text > .elementor-container > .elementor-row,
body.category-id-1010 .aw-category-text .elementor-column,
body.category-id-1010 .aw-category-text .elementor-column-wrap,
body.category-id-1010 .aw-category-text .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.category-id-1010 .aw-listing-description {
  box-sizing: border-box !important;
  width: min(1120px, calc(100% - 96px)) !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #101a44 !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

body.category-id-1010 .aw-listing-description p,
body.category-id-1010 .aw-listing-description ul,
body.category-id-1010 .aw-listing-description h2,
body.category-id-1010 .aw-listing-description h3 {
  margin-top: 0 !important;
  margin-bottom: 19px !important;
}

/* Apply the 1010 category-card composition to every intermediate category.
   This selector is only enabled by the JS when subcategories are present, so
   final-level product listings keep their native/product-table treatment. */
body.codex-category-intermediate .aw-category-dynamic {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 40px 0 45px !important;
  background: #ffffff !important;
}

body.codex-category-intermediate .aw-category-dynamic > .elementor-container,
body.codex-category-intermediate .aw-category-dynamic > .elementor-container > .elementor-row,
body.codex-category-intermediate .aw-category-dynamic .elementor-column,
body.codex-category-intermediate .aw-category-dynamic .elementor-column-wrap,
body.codex-category-intermediate .aw-category-dynamic .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.codex-category-intermediate .aw-category-dynamic > .elementor-container {
  width: calc(100% - 150px) !important;
  max-width: 1770px !important;
  margin: 0 auto !important;
}

body.codex-category-intermediate .aw-category-dynamic .aw-breadcrumb,
body.codex-category-intermediate .aw-category-dynamic .aw-category-subcats {
  display: none !important;
}

body.codex-category-intermediate .aw-category-subcategories,
body.codex-category-intermediate .aw-category-subcategories .elementor-widget-container,
body.codex-category-intermediate .aw-category-subcategories .ce-articles {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-articles {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-rows: 238px !important;
  column-gap: 28px !important;
  row-gap: 56px !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-articles::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 259px !important;
  right: 0 !important;
  left: 0 !important;
  height: 1px !important;
  background: #e6e6e6 !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  width: auto !important;
  height: 238px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 8px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  text-align: center !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__thumbnail {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 122px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__thumbnail img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 152px !important;
  max-height: 122px !important;
  object-fit: contain !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__text {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 106px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__title {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 45px !important;
  min-height: 45px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #be801c !important;
  font-size: 18px !important;
  line-height: 22px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__title a {
  color: inherit !important;
  text-decoration: none !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__subtitle {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 18px !important;
  overflow: hidden !important;
  color: #8a8a8a !important;
  font-size: 12px !important;
  line-height: 18px !important;
  text-align: center !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__excerpt {
  display: -webkit-box !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-height: 42px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #101a44 !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-align: center !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

body.codex-category-intermediate .aw-category-subcategories .ce-article__cta,
body.codex-category-intermediate .aw-listing-products {
  display: none !important;
}

/* Keep fewer-than-five category cards visually centred while retaining the
   five-column rhythm used by the reference page for larger directories. */
body.codex-category-intermediate.codex-category-subcats-count-1 .aw-category-subcategories .ce-articles {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}
body.codex-category-intermediate.codex-category-subcats-count-2 .aw-category-subcategories .ce-articles {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.codex-category-intermediate.codex-category-subcats-count-3 .aw-category-subcategories .ce-articles {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.codex-category-intermediate.codex-category-subcats-count-4 .aw-category-subcategories .ce-articles {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.codex-category-intermediate.codex-category-subcats-count-6 .aw-category-subcategories .ce-article:nth-child(6) {
  grid-column: 3 !important;
}
body.codex-category-intermediate.codex-category-subcats-count-7 .aw-category-subcategories .ce-article:nth-child(6) {
  grid-column: 2 !important;
}
body.codex-category-intermediate.codex-category-subcats-count-7 .aw-category-subcategories .ce-article:nth-child(7) {
  grid-column: 3 !important;
}

body.codex-category-intermediate .aw-category-text {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 58px 0 70px !important;
  background: #eff3fb !important;
}

body.codex-category-intermediate .aw-category-text > .elementor-container,
body.codex-category-intermediate .aw-category-text > .elementor-container > .elementor-row,
body.codex-category-intermediate .aw-category-text .elementor-column,
body.codex-category-intermediate .aw-category-text .elementor-column-wrap,
body.codex-category-intermediate .aw-category-text .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.codex-category-intermediate .aw-listing-description {
  box-sizing: border-box !important;
  width: min(1120px, calc(100% - 96px)) !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #101a44 !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

body.codex-category-intermediate .aw-listing-description p,
body.codex-category-intermediate .aw-listing-description ul,
body.codex-category-intermediate .aw-listing-description h2,
body.codex-category-intermediate .aw-listing-description h3 {
  margin-top: 0 !important;
  margin-bottom: 19px !important;
}

/* Every last-level product listing uses the category cover in the hero. The
 * 883 page keeps its existing Figma-specific image and overlay below. */
body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero,
body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero {
  height: 230px !important;
  min-height: 230px !important;
  background-image: url("/img/cms/plastem-ce/refonte/factory-floor.png") !important;
  background-position: center center !important;
}

body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero > .elementor-container,
body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero > .elementor-container > .elementor-row,
body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero > .elementor-container,
body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero > .elementor-container > .elementor-row {
  min-height: 230px !important;
}

body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero::before,
body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero::before {
  content: "" !important;
  position: absolute !important;
  z-index: 4 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 310px !important;
  background: #ffffff !important;
  clip-path: polygon(0 0, 100% 0, 75% 100%, 0 100%) !important;
}

body.page-category.codex-product-listing-page:not(.category-id-883) .codex-category-hero-cover,
body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .codex-category-hero-cover {
  box-sizing: border-box !important;
  position: absolute !important;
  z-index: 5 !important;
  top: 42px !important;
  left: 38px !important;
  display: block !important;
  width: 205px !important;
  height: 145px !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: auto 145px !important;
}

body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-title,
body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-title {
  z-index: 6 !important;
  padding-left: 300px !important;
}

/* Product listing page (category 883). */
body.category-id-883 .aw-page-hero {
  height: 230px !important;
  min-height: 230px !important;
  background-image: url("/img/cms/plastem-ce/refonte/factory-floor.png") !important;
  background-position: center center !important;
}

body.category-id-883 .aw-page-hero > .elementor-container,
body.category-id-883 .aw-page-hero > .elementor-container > .elementor-row {
  min-height: 230px !important;
}

body.category-id-883 .aw-page-hero > .elementor-container::before,
body.category-id-883 .aw-page-hero > .elementor-container::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  pointer-events: none !important;
}

body.category-id-883 .aw-page-hero > .elementor-container::before {
  z-index: 4 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 310px !important;
  background: #ffffff !important;
  clip-path: polygon(0 0, 100% 0, 75% 100%, 0 100%) !important;
}

body.category-id-883 .aw-page-hero > .elementor-container::after {
  z-index: 5 !important;
  top: 42px !important;
  left: 38px !important;
  width: 205px !important;
  height: 145px !important;
  background: url("/img/cms/plastem-ce/refonte/product-yellow-cap.png") center center / contain no-repeat !important;
}

body.category-id-883 .aw-page-title {
  z-index: 6 !important;
  padding-left: 300px !important;
}

body.category-id-883 .aw-page-title .elementor-heading-title {
  max-width: 1200px !important;
  margin: 0 auto !important;
  font-size: clamp(30px, 2.15vw, 42px) !important;
}

body.category-id-883 .codex-hero-product-link {
  box-sizing: border-box !important;
  display: flex !important;
  width: 192px !important;
  height: 44px !important;
  margin: 18px auto 0 !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  background: #be801c !important;
  box-shadow: 0 8px 18px rgba(190, 128, 28, 0.25) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.category-id-883 .codex-hero-product-link__icon {
  font-family: "Material Icons" !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

body.category-id-883 .codex-product-toolbar {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 max(56px, calc((100% - 1800px) / 2)) !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: linear-gradient(100deg, #5c20ff 0%, #6038ff 49%, #714dff 100%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

body.category-id-883 .codex-product-toolbar__left,
body.category-id-883 .codex-product-toolbar__right {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
}

body.category-id-883 .codex-product-toolbar__left {
  gap: 14px !important;
}

body.category-id-883 .codex-product-toolbar__icon {
  font-family: "Material Icons" !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.category-id-883 .codex-product-toolbar__choice {
  box-sizing: border-box !important;
  height: 27px !important;
  min-width: 83px !important;
  padding: 3px 13px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  font: inherit !important;
}

body.category-id-883 .aw-category-dynamic {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

body.category-id-883 .aw-category-dynamic > .elementor-container,
body.category-id-883 .aw-category-dynamic > .elementor-container > .elementor-row,
body.category-id-883 .aw-category-dynamic .elementor-column,
body.category-id-883 .aw-category-dynamic .elementor-column-wrap,
body.category-id-883 .aw-category-dynamic .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.category-id-883 .aw-category-dynamic > .elementor-container {
  width: min(1800px, calc(100% - 112px)) !important;
  margin: 0 auto !important;
}

body.category-id-883 .aw-category-dynamic .aw-breadcrumb {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 20px 0 17px !important;
}

body.category-id-883 .aw-category-dynamic .ce-breadcrumb,
body.category-id-883 .aw-category-dynamic .ce-breadcrumb .elementor-row {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}

body.category-id-883 .aw-category-dynamic .aw-category-subcats {
  display: none !important;
}

body.category-id-883 .aw-category-text {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

body.category-id-883 .aw-category-text > .elementor-container,
body.category-id-883 .aw-category-text > .elementor-container > .elementor-row,
body.category-id-883 .aw-category-text .elementor-column,
body.category-id-883 .aw-category-text .elementor-column-wrap,
body.category-id-883 .aw-category-text .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

body.category-id-883 .aw-listing-products {
  box-sizing: border-box !important;
  display: block !important;
  width: min(1800px, calc(100% - 112px)) !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 0 58px !important;
  order: 1 !important;
}

body.category-id-883 .aw-listing-products > .elementor-widget-container,
body.category-id-883 .codex-product-table {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

body.category-id-883 .aw-listing-products > .elementor-widget-container > .products {
  display: none !important;
}

body.category-id-883 .codex-product-table {
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1fr) !important;
  column-gap: 70px !important;
  align-items: start !important;
}

body.category-id-883 .codex-product-filter {
  box-sizing: border-box !important;
  width: 230px !important;
  min-height: 320px !important;
  padding: 22px 24px 18px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(16, 26, 68, 0.12) !important;
}

body.category-id-883 .codex-product-filter__title {
  margin: 0 0 15px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #6338ff !important;
  color: #6338ff !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 800 !important;
}

body.category-id-883 .codex-product-filter__list {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  gap: 7px !important;
  list-style: none !important;
}

body.category-id-883 .codex-product-filter__item {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  color: #5d5d5d !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
}

body.category-id-883 .codex-product-filter__item input {
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  accent-color: #6338ff !important;
}

body.category-id-883 .codex-product-rows {
  min-width: 0 !important;
}

body.category-id-883 .codex-product-head,
body.category-id-883 .codex-product-row {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 145px minmax(0, 1fr) 150px 72px !important;
  column-gap: 20px !important;
  align-items: center !important;
}

body.category-id-883 .codex-product-head {
  height: 47px !important;
  padding: 0 14px 10px !important;
  border-bottom: 1px solid #6338ff !important;
  color: #6338ff !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 800 !important;
}

body.category-id-883 .codex-product-row {
  position: relative !important;
  height: 31px !important;
  min-height: 31px !important;
  margin: 0 0 2px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: #f0f4fb !important;
  color: #6a6a6a !important;
  font-size: 13px !important;
  line-height: 17px !important;
}

body.category-id-883 .codex-product-row:nth-child(odd) {
  background: #ffffff !important;
}

body.category-id-883 .codex-product-row:hover,
body.category-id-883 .codex-product-row.is-selected {
  background: linear-gradient(100deg, #4873ea 0%, #6236ff 100%) !important;
  color: #ffffff !important;
}

body.category-id-883 .codex-product-row__reference,
body.category-id-883 .codex-product-row__designation,
body.category-id-883 .codex-product-row__price {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.category-id-883 .codex-product-row__designation {
  color: inherit !important;
  text-decoration: none !important;
}

body.category-id-883 .codex-product-row__reference {
  position: relative !important;
  padding-left: 14px !important;
  font-weight: 800 !important;
}

body.category-id-883 .codex-product-row__reference::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #ff4935 !important;
  transform: translateY(-50%) !important;
}

body.category-id-883 .codex-product-row.is-available .codex-product-row__reference::before,
body.category-id-883 .codex-product-row.is-selected .codex-product-row__reference::before {
  background: #b2ed00 !important;
}

body.category-id-883 .codex-product-row__details {
  box-sizing: border-box !important;
  display: none !important;
  width: 62px !important;
  height: 25px !important;
  padding: 3px 7px !important;
  border: 2px solid #6338ff !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #6338ff !important;
  font-size: 12px !important;
  line-height: 15px !important;
  text-align: center !important;
  text-decoration: none !important;
}

body.category-id-883 .codex-product-row.is-selected .codex-product-row__details,
body.category-id-883 .codex-product-row:hover .codex-product-row__details {
  display: block !important;
}

body.category-id-883 .aw-listing-description {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 401px !important;
  margin: 0 !important;
  padding: 54px 0 62px !important;
  order: 2 !important;
  background: #eff3fb !important;
  color: #101a44 !important;
}

body.category-id-883 .aw-listing-description .elementor-widget-container {
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 112px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 16px !important;
}

body.category-id-883 .aw-listing-description p {
  margin: 0 0 20px !important;
}

@media (max-width: 1199px) {
  body.category-id-1010 .aw-category-dynamic > .elementor-container {
    width: calc(100% - 64px) !important;
  }

  body.category-id-1010 .aw-category-subcategories .ce-articles {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.category-id-1010 .aw-category-subcategories .ce-article:nth-child(6),
  body.category-id-1010 .aw-category-subcategories .ce-article:nth-child(7),
  body.category-id-1010 .aw-category-subcategories .ce-article:nth-child(8) {
    grid-column: auto !important;
  }

  body.category-id-1010 .aw-category-subcategories .ce-articles::after {
    top: 259px !important;
  }

  body.category-id-883 .aw-listing-products,
  body.category-id-883 .aw-category-dynamic > .elementor-container {
    width: calc(100% - 64px) !important;
  }

  body.category-id-883 .codex-product-table {
    grid-template-columns: 205px minmax(0, 1fr) !important;
    column-gap: 34px !important;
  }

  body.category-id-883 .codex-product-filter {
    width: 205px !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.category-id-883 .codex-product-head,
  body.category-id-883 .codex-product-row {
    grid-template-columns: 120px minmax(0, 1fr) 100px 64px !important;
    column-gap: 12px !important;
  }
}

@media (max-width: 820px) {
  body.page-category .aw-page-hero,
  body.category-id-883 .aw-page-hero {
    height: 230px !important;
    min-height: 230px !important;
  }

  body.page-category .aw-page-hero > .elementor-container,
  body.page-category .aw-page-hero > .elementor-container > .elementor-row,
  body.category-id-883 .aw-page-hero > .elementor-container,
  body.category-id-883 .aw-page-hero > .elementor-container > .elementor-row {
    min-height: 230px !important;
  }

  body.category-id-1010 .aw-category-dynamic > .elementor-container {
    width: calc(100% - 32px) !important;
  }

  body.category-id-1010 .aw-category-subcategories .ce-articles {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 224px !important;
    row-gap: 28px !important;
  }

  body.category-id-1010 .aw-category-subcategories .ce-article {
    height: 224px !important;
  }

  body.category-id-1010 .aw-category-subcategories .ce-articles::after {
    display: none !important;
  }

  body.category-id-1010 .aw-listing-description,
  body.category-id-883 .aw-listing-description .elementor-widget-container {
    width: calc(100% - 32px) !important;
  }

  body.category-id-883 .aw-page-hero > .elementor-container::before {
    width: 210px !important;
  }

  body.category-id-883 .aw-page-hero > .elementor-container::after {
    top: 30px !important;
    left: 18px !important;
    width: 145px !important;
    height: 120px !important;
  }

  body.category-id-883 .aw-page-title {
    padding-left: 170px !important;
    padding-right: 10px !important;
  }

  body.category-id-883 .aw-page-title .elementor-heading-title {
    max-width: none !important;
    font-size: 24px !important;
    line-height: 1.12 !important;
  }

  body.category-id-883 .codex-hero-product-link {
    width: 176px !important;
    height: 38px !important;
    margin: 10px auto 0 !important;
    padding: 0 10px !important;
    gap: 6px !important;
    font-size: 13px !important;
    line-height: 16px !important;
  }

  body.category-id-883 .codex-product-toolbar {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.category-id-883 .aw-listing-products,
  body.category-id-883 .aw-category-dynamic > .elementor-container {
    width: calc(100% - 32px) !important;
  }

  body.category-id-883 .codex-product-table {
    display: block !important;
  }

  body.category-id-883 .codex-product-filter {
    width: 100% !important;
    min-height: 0 !important;
    margin-bottom: 24px !important;
  }

  body.category-id-883 .codex-product-filter__list {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  body.category-id-883 .codex-product-head,
  body.category-id-883 .codex-product-row {
    grid-template-columns: 92px minmax(0, 1fr) 78px 0 !important;
    column-gap: 8px !important;
  }

  body.category-id-883 .codex-product-head,
  body.category-id-883 .codex-product-row {
    padding-right: 8px !important;
    padding-left: 8px !important;
    font-size: 11px !important;
  }

  body.category-id-883 .codex-product-row__details {
    display: none !important;
  }
}

@media (max-width: 520px) {
  body.category-id-1010 .aw-category-subcategories .ce-articles {
    grid-template-columns: 1fr !important;
  }

  body.category-id-883 .codex-product-filter__list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.category-id-883 .codex-product-head,
  body.category-id-883 .codex-product-row {
    grid-template-columns: 80px minmax(0, 1fr) 70px 0 !important;
  }

  body.category-id-883 .codex-product-toolbar {
    font-size: 12px !important;
  }
}

/*
 * The category overview is intentionally kept as a category overview. The
 * product table below is enabled by JS only when there are no subcategory
 * cards and real product miniatures are present in the last-level listing.
 */
body.page-category.codex-category-intermediate .aw-listing-products {
  display: none !important;
}

body.page-category.codex-product-listing-page .aw-category-dynamic {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

body.page-category.codex-product-listing-page .aw-category-dynamic > .elementor-container,
body.page-category.codex-product-listing-page .aw-category-dynamic > .elementor-container > .elementor-row,
body.page-category.codex-product-listing-page .aw-category-dynamic .elementor-column,
body.page-category.codex-product-listing-page .aw-category-dynamic .elementor-column-wrap,
body.page-category.codex-product-listing-page .aw-category-dynamic .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-category.codex-product-listing-page .aw-category-dynamic > .elementor-container {
  width: 100% !important;
}

body.page-category.codex-product-listing-page .aw-listing-products {
  box-sizing: border-box !important;
  display: block !important;
  width: min(1800px, calc(100% - 112px)) !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 0 58px !important;
  background: #ffffff !important;
}

body.page-category.codex-product-listing-page .aw-listing-products > .elementor-widget-container,
body.page-category.codex-product-listing-page .codex-product-table {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

body.page-category.codex-product-listing-page .aw-listing-products > .elementor-widget-container > .products {
  display: none !important;
}

body.page-category.codex-product-listing-page .codex-product-toolbar {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 max(56px, calc((100% - 1800px) / 2)) !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: linear-gradient(100deg, #5c20ff 0%, #6038ff 49%, #714dff 100%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

body.page-category.codex-product-listing-page .codex-product-toolbar__left,
body.page-category.codex-product-listing-page .codex-product-toolbar__right {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
}

body.page-category.codex-product-listing-page .codex-product-toolbar__left {
  gap: 14px !important;
}

body.page-category.codex-product-listing-page .codex-product-toolbar__icon {
  font-family: "Material Icons" !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.page-category.codex-product-listing-page .codex-product-toolbar__choice {
  box-sizing: border-box !important;
  display: inline-flex !important;
  height: 27px !important;
  min-width: 83px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 3px 13px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  font: inherit !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

body.page-category.codex-product-listing-page .codex-product-sort {
  position: relative !important;
  display: inline-flex !important;
  min-width: 0 !important;
}

body.page-category.codex-product-listing-page .codex-product-toolbar__choice-arrow {
  font-family: "Material Icons" !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

body.page-category.codex-product-listing-page .codex-product-sort__menu {
  position: absolute !important;
  z-index: 50 !important;
  top: calc(100% + 7px) !important;
  left: 0 !important;
  min-width: 210px !important;
  padding: 6px !important;
  border: 1px solid rgba(99, 56, 255, 0.15) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(16, 26, 68, 0.2) !important;
}

body.page-category.codex-product-listing-page .codex-product-sort__menu[hidden] {
  display: none !important;
}

body.page-category.codex-product-listing-page .codex-product-sort__option {
  display: block !important;
  padding: 8px 11px !important;
  border-radius: 5px !important;
  color: #101a44 !important;
  font-size: 13px !important;
  line-height: 18px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.page-category.codex-product-listing-page .codex-product-sort__option:hover,
body.page-category.codex-product-listing-page .codex-product-sort__option:focus-visible,
body.page-category.codex-product-listing-page .codex-product-sort__option.is-current {
  background: #6338ff !important;
  color: #ffffff !important;
}

body.page-category.codex-product-listing-page .codex-product-table {
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1fr) !important;
  column-gap: 70px !important;
  align-items: start !important;
  background: #ffffff !important;
}

body.page-category.codex-product-listing-page .codex-product-filter {
  box-sizing: border-box !important;
  width: 230px !important;
  min-height: 320px !important;
  padding: 22px 24px 18px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(16, 26, 68, 0.12) !important;
}

body.page-category.codex-product-listing-page .codex-product-filter__title {
  margin: 0 0 15px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #6338ff !important;
  color: #6338ff !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 800 !important;
}

body.page-category.codex-product-listing-page .codex-product-filter__list {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  gap: 7px !important;
  list-style: none !important;
}

body.page-category.codex-product-listing-page .codex-product-filter__item {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  color: #5d5d5d !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
}

body.page-category.codex-product-listing-page .codex-product-filter__item input {
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  accent-color: #6338ff !important;
}

body.page-category.codex-product-listing-page .codex-product-filter__empty {
  color: #777777 !important;
  font-size: 13px !important;
  line-height: 18px !important;
}

body.page-category.codex-product-listing-page .codex-product-rows {
  min-width: 0 !important;
}

body.page-category.codex-product-listing-page .codex-product-head,
body.page-category.codex-product-listing-page .codex-product-row {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 145px minmax(0, 1fr) 150px 72px !important;
  column-gap: 20px !important;
  align-items: center !important;
}

body.page-category.codex-product-listing-page .codex-product-head {
  height: 47px !important;
  padding: 0 14px 10px !important;
  border-bottom: 1px solid #6338ff !important;
  color: #6338ff !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 800 !important;
}

body.page-category.codex-product-listing-page .codex-product-row {
  position: relative !important;
  height: 31px !important;
  min-height: 31px !important;
  margin: 0 0 2px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: #f0f4fb !important;
  color: #6a6a6a !important;
  font-size: 13px !important;
  line-height: 17px !important;
}

body.page-category.codex-product-listing-page .codex-product-row:nth-child(odd) {
  background: #ffffff !important;
}

body.page-category.codex-product-listing-page .codex-product-row:hover {
  background: linear-gradient(100deg, #4873ea 0%, #6236ff 100%) !important;
  color: #ffffff !important;
}

/* Defensive reset for a previously cached DOM: no product is selected on
   initial render; the gradient exists only while that row is hovered. */
body.page-category.codex-product-listing-page .codex-product-row.is-selected {
  background: #f0f4fb !important;
  color: #6a6a6a !important;
}

body.page-category.codex-product-listing-page .codex-product-row.is-selected:hover {
  background: linear-gradient(100deg, #4873ea 0%, #6236ff 100%) !important;
  color: #ffffff !important;
}

body.page-category.codex-product-listing-page .codex-product-row[hidden] {
  display: none !important;
}

body.page-category.codex-product-listing-page .codex-product-row__reference,
body.page-category.codex-product-listing-page .codex-product-row__designation,
body.page-category.codex-product-listing-page .codex-product-row__price {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.page-category.codex-product-listing-page .codex-product-row__designation {
  color: inherit !important;
  text-decoration: none !important;
}

body.page-category.codex-product-listing-page .codex-product-row__reference {
  position: relative !important;
  padding-left: 14px !important;
  font-weight: 800 !important;
}

body.page-category.codex-product-listing-page .codex-product-row__reference::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #ff4935 !important;
  transform: translateY(-50%) !important;
}

body.page-category.codex-product-listing-page .codex-product-row.is-available .codex-product-row__reference::before {
  background: #b2ed00 !important;
}

body.page-category.codex-product-listing-page .codex-product-row__details {
  box-sizing: border-box !important;
  display: block !important;
  width: 62px !important;
  height: 25px !important;
  padding: 3px 7px !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  border: 2px solid #6338ff !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #6338ff !important;
  font-size: 12px !important;
  line-height: 15px !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: opacity 120ms ease !important;
}

body.page-category.codex-product-listing-page .codex-product-row:hover .codex-product-row__details {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.page-category.codex-product-listing-page .codex-product-listing--loading .codex-product-table,
body.page-category.codex-product-listing-page .codex-product-listing--loading .codex-product-pagination {
  opacity: 0.55 !important;
  pointer-events: none !important;
  transition: opacity 120ms ease !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination {
  box-sizing: border-box !important;
  display: grid !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 16px 0 0 !important;
  padding: 0 10px !important;
  grid-template-columns: minmax(180px, 216px) auto auto !important;
  column-gap: 28px !important;
  justify-content: center !important;
  align-items: center !important;
  color: #101a44 !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__size {
  display: block !important;
  min-width: 0 !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__select-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__select-wrap::after {
  content: "expand_more" !important;
  position: absolute !important;
  top: 50% !important;
  right: 15px !important;
  color: #101a44 !important;
  font-family: "Material Icons" !important;
  font-size: 18px !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__select {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  padding: 0 42px 0 17px !important;
  border: 0 !important;
  border-radius: 22px !important;
  outline: 0 !important;
  appearance: none !important;
  background: #f5f5f5 !important;
  color: #101a44 !important;
  font: inherit !important;
  cursor: pointer !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__count {
  justify-self: start !important;
  white-space: nowrap !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__controls {
  display: inline-flex !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__pages {
  display: inline-flex !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__page {
  box-sizing: border-box !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #101a44 !important;
  font: inherit !important;
  line-height: 32px !important;
  text-align: center !important;
  cursor: pointer !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__page:hover,
body.page-category.codex-product-listing-page .codex-product-pagination__page:focus-visible,
body.page-category.codex-product-listing-page .codex-product-pagination__page.is-active {
  background: #6338ff !important;
  color: #ffffff !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__ellipsis {
  display: inline-block !important;
  width: 20px !important;
  color: #101a44 !important;
  text-align: center !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__previous,
body.page-category.codex-product-listing-page .codex-product-pagination__next {
  display: inline-flex !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-self: end !important;
  gap: 8px !important;
  padding: 6px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #101a44 !important;
  font: inherit !important;
  cursor: pointer !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__previous:hover,
body.page-category.codex-product-listing-page .codex-product-pagination__previous:focus-visible,
body.page-category.codex-product-listing-page .codex-product-pagination__next:hover,
body.page-category.codex-product-listing-page .codex-product-pagination__next:focus-visible {
  color: #6338ff !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__previous:disabled,
body.page-category.codex-product-listing-page .codex-product-pagination__next:disabled {
  color: #a9acb7 !important;
  cursor: default !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__previous:disabled {
  color: #a9acb7 !important;
  cursor: default !important;
}

body.page-category.codex-product-listing-page .codex-product-pagination__arrow {
  font-family: "Material Icons" !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.page-category.codex-product-listing-page .codex-product-loading {
  box-sizing: border-box !important;
  display: flex !important;
  min-height: 190px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  color: #101a44 !important;
  font-size: 14px !important;
}

body.page-category.codex-product-listing-page .codex-product-loading__spinner {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  border: 3px solid rgba(99, 56, 255, 0.2) !important;
  border-top-color: #6338ff !important;
  border-radius: 50% !important;
  animation: codex-product-loading-spin 700ms linear infinite !important;
}

@keyframes codex-product-loading-spin {
  to { transform: rotate(360deg); }
}

body.page-category.codex-product-listing-page .aw-listing-description {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 401px !important;
  margin: 0 !important;
  padding: 54px 0 62px !important;
  background: #eff3fb !important;
  color: #101a44 !important;
}

body.page-category.codex-product-listing-page .aw-listing-description .elementor-widget-container {
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 112px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 16px !important;
}

body.page-category.codex-product-listing-page .aw-listing-description p {
  margin: 0 0 20px !important;
}

@media (max-width: 1199px) {
  body.page-category.codex-product-listing-page .aw-listing-products {
    width: calc(100% - 64px) !important;
  }

  body.page-category.codex-product-listing-page .codex-product-table {
    grid-template-columns: 205px minmax(0, 1fr) !important;
    column-gap: 34px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-filter {
    width: 205px !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-head,
  body.page-category.codex-product-listing-page .codex-product-row {
    grid-template-columns: 120px minmax(0, 1fr) 100px 64px !important;
    column-gap: 12px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination {
    grid-template-columns: minmax(160px, 190px) auto auto !important;
    column-gap: 12px !important;
  }
}

@media (max-width: 820px) {
  body.page-category.codex-product-listing-page .codex-product-toolbar {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.page-category.codex-product-listing-page .aw-listing-products {
    width: calc(100% - 32px) !important;
  }

  body.page-category.codex-product-listing-page .codex-product-table {
    display: block !important;
  }

  body.page-category.codex-product-listing-page .codex-product-filter {
    width: 100% !important;
    min-height: 0 !important;
    margin-bottom: 24px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-filter__list {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  body.page-category.codex-product-listing-page .codex-product-head,
  body.page-category.codex-product-listing-page .codex-product-row {
    grid-template-columns: 92px minmax(0, 1fr) 78px 0 !important;
    column-gap: 8px !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
    font-size: 11px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-row__details {
    display: none !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination {
    display: grid !important;
    grid-template-columns: minmax(160px, 1fr) auto !important;
    grid-template-rows: 40px 40px !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
    padding: 8px 0 !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination__size {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination__count {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination__controls {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
  }
}

@media (max-width: 520px) {
  body.page-category.codex-product-listing-page .codex-product-filter__list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.page-category.codex-product-listing-page .codex-product-head,
  body.page-category.codex-product-listing-page .codex-product-row {
    grid-template-columns: 80px minmax(0, 1fr) 70px 0 !important;
  }

  body.page-category.codex-product-listing-page .codex-product-toolbar {
    font-size: 12px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination {
    grid-template-columns: minmax(145px, 1fr) auto !important;
    column-gap: 10px !important;
    font-size: 12px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination__select {
    padding-left: 13px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination__pages {
    gap: 3px !important;
  }

  body.page-category.codex-product-listing-page .codex-product-pagination__page {
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
  }
}

/* Empty last-level listings use the same compact breadcrumb canvas as the
 * regular product listing, while keeping the native empty-state content
 * untouched below it. */
body.page-category.codex-category-breadcrumb-page:not(.codex-product-listing-page) .aw-category-dynamic {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

/* Do not expose the native empty-product message on a last-level family
 * page. The descriptive content below remains visible. */
body.page-category.codex-category-breadcrumb-page:not(.codex-product-listing-page) .aw-listing-products {
  display: none !important;
}

body.page-category.codex-category-breadcrumb-page:not(.codex-product-listing-page) .aw-category-dynamic > .elementor-container,
body.page-category.codex-category-breadcrumb-page:not(.codex-product-listing-page) .aw-category-dynamic > .elementor-container > .elementor-row,
body.page-category.codex-category-breadcrumb-page:not(.codex-product-listing-page) .aw-category-dynamic .elementor-column,
body.page-category.codex-category-breadcrumb-page:not(.codex-product-listing-page) .aw-category-dynamic .elementor-column-wrap,
body.page-category.codex-category-breadcrumb-page:not(.codex-product-listing-page) .aw-category-dynamic .elementor-widget-wrap {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The product-listing breadcrumb follows the single-line Figma reference. */
body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .aw-breadcrumb {
  box-sizing: border-box !important;
  display: block !important;
  width: min(1800px, calc(100% - 112px)) !important;
  min-height: 64px !important;
  margin: 0 auto !important;
  padding: 20px 0 17px !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  white-space: nowrap !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb::-webkit-scrollbar {
  display: none !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb .elementor-row {
  box-sizing: border-box !important;
  display: flex !important;
  width: max-content !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  list-style: none !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #6338ff !important;
  white-space: nowrap !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item > * {
  padding: 0 !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:not(:last-child)::after {
  content: ">" !important;
  display: inline-block !important;
  margin: 0 10px !important;
  color: #6338ff !important;
  font: inherit !important;
  font-weight: 400 !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item a,
body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item span {
  color: #6338ff !important;
  font: inherit !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .ce-breadcrumb__item:last-child span {
  color: #3516b4 !important;
  font-weight: 700 !important;
}

/* Long category descriptions start compact and can be expanded on demand. */
body.page-category .aw-listing-description.codex-category-description {
  box-sizing: border-box !important;
  min-height: 0 !important;
}

body.page-category .aw-listing-description.codex-category-description > .elementor-widget-container {
  position: relative !important;
  max-height: 210px !important;
  overflow: hidden !important;
}

body.page-category .aw-listing-description.codex-category-description.is-expanded > .elementor-widget-container {
  max-height: none !important;
  overflow: visible !important;
}

body.page-category .aw-listing-description .codex-description-toggle {
  box-sizing: border-box !important;
  display: block !important;
  min-width: 132px !important;
  height: 40px !important;
  margin: 18px auto 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #6338ff !important;
  box-shadow: 0 7px 16px rgba(99, 56, 255, 0.2) !important;
  color: #ffffff !important;
  font: inherit !important;
  font-size: 14px !important;
  line-height: 40px !important;
  text-align: center !important;
  cursor: pointer !important;
}

body.page-category .aw-listing-description .codex-description-toggle:hover,
body.page-category .aw-listing-description .codex-description-toggle:focus-visible {
  background: #5128e9 !important;
}

@media (max-width: 1199px) {
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .aw-breadcrumb {
    width: calc(100% - 64px) !important;
  }
}

@media (max-width: 820px) {
  body.page-category.codex-category-breadcrumb-page .aw-category-dynamic .aw-breadcrumb {
    width: calc(100% - 32px) !important;
  }
}

/* Keep the product-table canvas uniformly white, including the empty edges
 * created by the Elementor wrapper. The category description keeps its own
 * light-blue surface below the table. */
body.category-id-883.codex-product-listing-page #content,
body.category-id-883.codex-product-listing-page #content > .elementor,
body.category-id-883.codex-product-listing-page #content > .elementor > .elementor-section-wrap,
body.category-id-883.codex-product-listing-page .aw-category-text,
body.category-id-883.codex-product-listing-page .aw-category-text > .elementor-container,
body.category-id-883.codex-product-listing-page .aw-category-text > .elementor-container > .elementor-row,
body.category-id-883.codex-product-listing-page .aw-category-text > .elementor-container > .elementor-row > .elementor-column,
body.category-id-883.codex-product-listing-page .aw-category-text > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap,
body.category-id-883.codex-product-listing-page .aw-category-text > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap > .elementor-widget-wrap,
body.category-id-883.codex-product-listing-page .aw-listing-products,
body.category-id-883.codex-product-listing-page .aw-listing-products > .elementor-widget-container,
body.category-id-883.codex-product-listing-page .codex-product-table {
  background-color: #ffffff !important;
}

body.category-id-883.codex-product-listing-page .aw-listing-description {
  background-color: #eff3fb !important;
}

/* The product sheet is now attached to the category hero. Do not render the
 * original image-link button a second time at the start of the description. */
body.category-id-883 .aw-listing-description > .elementor-widget-container > p:first-child {
  display: none !important;
}

/* Product-sheet actions are shared by every last-level product listing.
 * The category-883 rules above are legacy page-specific rules; these generic
 * selectors keep the same visual integration when another category provides
 * a native fiche produit link in its own description. */
body.page-category.codex-product-listing-page .codex-hero-product-link {
  box-sizing: border-box !important;
  display: flex !important;
  width: 192px !important;
  height: 44px !important;
  margin: 18px auto 0 !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  background: #be801c !important;
  box-shadow: 0 8px 18px rgba(190, 128, 28, 0.25) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.page-category.codex-product-listing-page .codex-hero-product-link__icon {
  font-family: "Material Icons" !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* Mobile category hero: compact the cover area and leave enough room for the
   category title beside it. This applies to product listings only. */
@media (max-width: 820px) {
  body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero,
  body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero {
    height: 180px !important;
    min-height: 180px !important;
  }

  body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero > .elementor-container,
  body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero > .elementor-container > .elementor-row,
  body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero > .elementor-container,
  body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero > .elementor-container > .elementor-row {
    height: 180px !important;
    min-height: 180px !important;
  }

  body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-hero::before,
  body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-hero::before {
    width: 210px !important;
  }

  body.page-category.codex-product-listing-page:not(.category-id-883) .codex-category-hero-cover,
  body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .codex-category-hero-cover {
    top: 30px !important;
    left: 18px !important;
    width: 145px !important;
    height: 120px !important;
    background-size: auto 120px !important;
  }

  body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-title,
  body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-title {
    height: 180px !important;
    padding-right: 18px !important;
    padding-left: 170px !important;
  }

  body.page-category.codex-product-listing-page:not(.category-id-883) .aw-page-title .elementor-heading-title,
  body.page-category.codex-category-breadcrumb-page:not(.category-id-883) .aw-page-title .elementor-heading-title {
    font-size: 24px !important;
    line-height: 1.15 !important;
  }
}
