/********************
	Part - layout
********************/
.wrapper__inner {
  display        : flex;
  flex-direction : column;
  padding-bottom : 20px;
}

/********************
	Part - left column
********************/
.left-column__wrapper {
  margin-bottom : 20px;
}

#left-column {
  position : -webkit-sticky;
  position : sticky;
  top      : 140px;
}

/********************
	Part - main content
********************/
#content-wrapper {
  flex : 1 0 0;
}

/********************
	Part - Listes produits header
********************/
#js-product-list-header {
  padding-bottom : 15px;
}

/********************
	Part - Listes produits
********************/
.products {
  display               : grid;
  grid-template-columns : repeat(3, 1fr);
  gap                   : 1.5rem;
}

@media (max-width : 1199px) {
  .products {
    grid-template-columns : repeat(3, 1fr);
    gap                   : 1.25rem;
  }
}

@media (max-width : 991px) {
  .products {
    grid-template-columns : repeat(2, 1fr);
    gap                   : 1rem;
  }
}

@media (max-width : 575px) {
  .products {
    grid-template-columns : repeat(2, 1fr);
    gap                   : 0.75rem;
  }
}

/********************
	Part - Style général des back to top
********************/
.product-list__back-to-top {
  text-align : center;
  margin     : 1em 0 0;
}

.product-list__back-to-top .btn {
  border          : 1px solid var(--color-primary);
  color           : var(--color-primary);
  line-height     : 1;
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
}

/********************
	Part - Style page not found
********************/
#products .page-not-found {
  display        : flex;
  flex-direction : column;
  align-items    : center;
}

/********************
	Part - Style module block categories
********************/
.block-categories {
  background    : #fff;
  padding       : 1.563rem 1.25rem;
  margin-bottom : 1.563rem
}

.block-categories .category-sub-menu {
  margin-top : .625rem
}

.block-categories .category-sub-menu .category-sub-link {
  font-size : .875rem
}

.block-categories .category-sub-menu li {
  position : relative
}

.block-categories .category-sub-menu li[data-depth="1"] {
  margin-bottom : .625rem
}

.block-categories .category-sub-menu li[data-depth="0"] > a {
  font-weight    : 600;
  border-bottom  : 1px solid rgba(0, 0, 0, .25);
  width          : 100%;
  display        : inline-block;
  margin         : .3125rem 0 0;
  padding-bottom : .1875rem
}

.block-categories .category-sub-menu li:not([data-depth="0"]):not([data-depth="1"]) {
  padding-left : .3125rem
}

.block-categories .category-sub-menu li:not([data-depth="0"]):not([data-depth="1"]):before {
  content      : "-";
  margin-right : .3125rem
}

.block-categories a {
  color : var(--color-black-default)
}

.block-categories .collapse-icons {
  position : absolute;
  right    : 0;
  top      : 0;
  padding  : 0;
  cursor   : pointer
}

.block-categories .collapse-icons[aria-expanded=true] .add {
  display : none
}

.block-categories .collapse-icons[aria-expanded=true] .remove {
  display : block
}

.block-categories .collapse-icons .add:hover, .block-categories .collapse-icons .remove:hover {
  color : #2fb5d2
}

.block-categories .collapse-icons .remove {
  display : none
}

.block-categories .arrows .arrow-down, .block-categories .arrows .arrow-right {
  font-size   : .875rem;
  cursor      : pointer;
  margin-left : 2px
}

.block-categories .arrows .arrow-down:hover, .block-categories .arrows .arrow-right:hover {
  color : #2fb5d2
}

.block-categories .arrows .arrow-down, .block-categories .arrows[aria-expanded=true] .arrow-right {
  display : none
}

.block-categories .arrows[aria-expanded=true] .arrow-down {
  display : inline-block
}

/********************
	Part - Style active filters
********************/
.active_filters {
  background    : #dededd;
  padding       : .625rem 1.875rem 0;
  margin-bottom : 1.25rem
}

.active_filters .active-filter-title {
  display      : inline;
  margin-right : .625rem;
  font-weight  : 600
}

.active_filters ul {
  display : inline
}

.active_filters .filter-block {
  box-shadow    : 2px 2px 8px 0 rgba(0, 0, 0, .2);
  color         : var(--color-black-default);
  margin-right  : .625rem;
  margin-bottom : .625rem;
  background    : #fff;
  padding       : .625rem;
  display       : inline-block;
  font-size     : .8125rem
}

.active_filters .filter-block .close {
  color       : var(--color-black-default);
  font-size   : .9375rem;
  opacity     : 1;
  margin-top  : .1875rem;
  margin-left : .3125rem
}

/********************
	Part - Style search filters (style maquette Lovable)
********************/
#search_filters,
#search_filters_brands,
#search_filters_suppliers {
  margin-bottom : 0;
  background    : transparent;
  padding       : 1.25rem;
}

/* Titre principal */
#search_filters > .h6,
#search_filters > p.h6 {
  font-size      : 1.25rem;
  font-weight    : 600;
  color          : var(--color-black-default, #091C34);
  margin         : 0 0 1.5rem;
  text-transform : none;
}

#search_filters .facet,
#search_filters_brands .facet,
#search_filters_suppliers .facet {
  padding-top   : 0;
  margin-bottom : 1.5rem;
}

#search_filters .facet:last-child,
#search_filters_brands .facet:last-child,
#search_filters_suppliers .facet:last-child {
  margin-bottom : 0;
}

#search_filters .facet .collapse,
#search_filters_brands .facet .collapse,
#search_filters_suppliers .facet .collapse {
  display : block;
}

/* Sous-titre de section */
#search_filters .facet .facet-title,
#search_filters_brands .facet .facet-title,
#search_filters_suppliers .facet .facet-title {
  font-size      : 0.875rem;
  font-weight    : 500;
  color          : var(--color-black-default, #091C34);
  margin-bottom  : 0.75rem;
  text-transform : none;
}

/* Liste des filtres */
#search_filters .facet ul,
#search_filters_brands .facet ul,
#search_filters_suppliers .facet ul {
  list-style    : none;
  padding       : 0;
  margin        : 0;
  max-height    : 300px;
  overflow-y    : auto;
  padding-right : 0.5rem;
}

#search_filters .facet .facet-label,
#search_filters_brands .facet .facet-label,
#search_filters_suppliers .facet .facet-label {
  display     : flex;
  align-items : center;
  gap         : 0.5rem;
  margin      : 0;
  cursor      : pointer;
  min-height  : 1.75rem;
}

#search_filters .facet .facet-label a,
#search_filters_brands .facet .facet-label a,
#search_filters_suppliers .facet .facet-label a {
  margin-top      : 0;
  color           : var(--color-grey-font-default, #516765);
  display         : inline;
  font-size       : 0.875rem;
  font-weight     : 500;
  text-decoration : none;
  line-height     : 1.4;
}

#search_filters .facet .facet-label a:hover {
  color           : var(--color-black-default, #091C34);
  text-decoration : none;
}

#search_filters .facet .facet-label.active a {
  color       : var(--color-grey-font-default, #516765);
  font-weight : 500;
}

/* Magnitude (count) - masqué par défaut */
#search_filters .facet .facet-label .magnitude {
  display : none;
}

/* Custom checkbox styling */
#search_filters .facet .custom-checkbox,
#search_filters_brands .facet .custom-checkbox,
#search_filters_suppliers .facet .custom-checkbox {
  position    : relative;
  display     : flex;
  align-items : center;
}

#search_filters .facet .custom-checkbox input[type="checkbox"] {
  appearance         : none;
  -webkit-appearance : none;
  -moz-appearance    : none;
  width              : 1rem;
  height             : 1rem;
  min-width          : 1rem;
  min-height         : 1rem;
  flex-shrink        : 0;
  border             : 1px solid var(--color-secondary, hsl(213, 70%, 15%));
  border-radius      : 2px;
  background         : transparent;
  cursor             : pointer;
  position           : relative;
  transition         : all 0.15s ease;
  margin             : 0;
}

#search_filters .facet .custom-checkbox input[type="checkbox"]:checked {
  background   : var(--color-secondary, hsl(213, 70%, 15%));
  border-color : var(--color-secondary, hsl(213, 70%, 15%));
}

#search_filters .facet .custom-checkbox input[type="checkbox"]:checked + span {
  display : none;
}

#search_filters .facet .custom-checkbox input[type="checkbox"]:checked::after {
  content      : '';
  position     : absolute;
  left         : 4px;
  top          : 1px;
  width        : 5px;
  height       : 9px;
  border       : solid #fff;
  border-width : 0 2px 2px 0;
  transform    : rotate(45deg);
}

#search_filters .facet .custom-checkbox input[type="checkbox"]:focus {
  outline    : none;
  box-shadow : 0 0 0 2px rgba(9, 28, 52, 0.15);
}

/* Hide the span with checkmark icon */
#search_filters .facet .custom-checkbox > span {
  display : none;
}

/* Color swatch */
#search_filters .facet .custom-checkbox .color {
  display       : inline-block;
  width         : 1.5rem;
  height        : 1.5rem;
  border-radius : 2px;
  border        : 1px solid rgba(0, 0, 0, 0.1);
  margin-right  : 0;
}

#search_filters_brands .facet,
#search_filters_suppliers .facet {
  padding-top : 0;
}

#search_filters_brands .facet .facet-label,
#search_filters_suppliers .facet .facet-label {
  margin-bottom : 0;
}

@media (max-width : 991px) {
  #search_filters .facet .facet-label {
    text-align : left;
  }
}

/********************
	Part - Style facets
********************/
.facets-title {
  font-size   : 1.25rem;
  font-weight : 600;
  color       : var(--color-black-default, #091C34);
}

.facet-dropdown {
  color         : var(--color-grey-font-default, #516765);
  padding-left  : 0;
  padding-right : 0;
  background    : transparent;
  border        : 1px solid var(--color-secondary, hsl(213, 70%, 15%));
  border-radius : 2px;
  box-sizing    : border-box;
  box-shadow    : none;
}

.facet-dropdown.open {
  border-color : var(--color-secondary, hsl(213, 70%, 15%));
}

.facet-dropdown.open > .select-title {
  border     : none;
  background : transparent;
}

.facet-dropdown .select-title {
  display     : inline-flex;
  align-items : center;
  margin-left : 0;
  width       : 100%;
  color       : var(--color-grey-font-default, #516765);
  background  : transparent;
  padding     : 0.5rem 0.75rem;
  cursor      : pointer;
  font-size   : 0.875rem;
}

.facet-dropdown .select-title > i {
  margin-left : auto;
  font-size   : 1rem;
}

.facet-dropdown .select-list {
  display    : block;
  color      : var(--color-black-default, #091C34);
  background : #fff;
  padding    : 0.5rem 0.75rem;
  font-size  : 0.875rem;
}

.facet-dropdown .select-list:hover {
  background      : var(--color-grey-default, #f3f5f7);
  color           : var(--color-black-default, #091C34);
  text-decoration : none;
}

.facet-dropdown .dropdown-menu {
  padding       : 0;
  margin-top    : 2px;
  left          : 0;
  right         : 0;
  width         : 100%;
  background    : #fff;
  border        : 1px solid var(--color-secondary, hsl(213, 70%, 15%));
  border-radius : 2px;
  box-shadow    : 0 4px 12px rgba(0, 0, 0, 0.1);
}

/********************
  Part - Hero banner (category & search listings)
********************/
.category-hero-banner {
  position        : relative;
  height          : 300px;
  display         : flex;
  align-items     : center;
  justify-content : center;
  background      : linear-gradient(to right, var(--color-secondary) 0%, var(--color-primary) 50%, var(--color-secondary) 100%);
  overflow        : hidden;
}

.category-hero-banner__bg {
  position : absolute;
  inset    : 0;
}

.category-hero-banner__content {
  position   : relative;
  z-index    : 1;
  width      : 100%;
  padding    : 2rem 1.5rem;
  text-align : center;
}

.category-hero-banner__title {
  font-size   : 3rem;
  font-weight : 700;
  color       : #fff;
  margin      : 0 0 1rem;
  line-height : 1;
  text-shadow : 0 2px 10px rgba(0, 0, 0, 0.15);
}

.category-hero-banner--search {
  background : linear-gradient(135deg, #0f1f3d 0%, #2c5cf6 50%, #5fc8ff 100%);
}

.category-hero-banner--search .category-hero-banner__bg {
  background : linear-gradient(to right, var(--color-secondary) 0%, var(--color-primary) 50%, var(--color-secondary) 100%);
}

.wrapper__inner {
  padding-top    : 2rem;
  padding-bottom : 5rem;
}

/********************
  Part - Amazzing Filter (style maquette Lovable)
********************/

#amazzing_filter {
  padding : 1.25rem;
}

/* Titre principal "Filtres" */
#amazzing_filter .title_block {
  margin-bottom : 0;
}

#amazzing_filter .title_block .title_block-title {
  margin-bottom : 0;
}

#amazzing_filter .title_block .title_block-title span {
  font-size   : 1.25rem;
  font-weight : 600;
  color       : var(--color-black-default, #091C34);
}

#amazzing_filter .title_block button {
  padding       : 0.375rem 0.75rem;
  font-size     : 0.8125rem;
  color         : var(--color-grey-font-default, #516765);
  background    : transparent;
  border        : 1px solid var(--color-grey-default, #f3f5f7);
  border-radius : var(--radius-sm, 5px);
  cursor        : pointer;
  transition    : all 0.2s ease;
}

#amazzing_filter .title_block button:hover {
  color        : var(--color-primary, hsl(210, 90%, 45%));
  border-color : var(--color-primary, hsl(210, 90%, 45%));
}

#amazzing_filter .selectedFilters {
  margin-bottom : 1rem;
  padding       : 0.75rem;
  background    : var(--color-grey-default, #f3f5f7);
  border-radius : var(--radius-md);
}

#amazzing_filter .selectedFilters .clearAll {
  display         : flex;
  justify-content : flex-end;
}

#amazzing_filter .selectedFilters .clearAll a {
  display         : inline-flex;
  align-items     : center;
  gap             : 0.375rem;
  font-size       : 0.8125rem;
  color           : var(--color-grey-font-default, #516765);
  text-decoration : none;
  transition      : color 0.2s ease;
}

#amazzing_filter .selectedFilters .clearAll a:hover {
  color : var(--color-primary, hsl(210, 90%, 45%));
}

#amazzing_filter .block_content {
  margin-top : 0;
}

/* Chaque bloc de filtre */
#amazzing_filter .af_filter {
  margin-bottom : 0;
  border-bottom : none;
}

#amazzing_filter .af_filter:last-child {
  margin-bottom : 0;
}

/* Sous-titre de section (ex: "Catégories", "Prix") */
#amazzing_filter .af_filter .af_subtitle,
#amazzing_filter .af_filter .af_subtitle span {
  font-size      : 0.875rem;
  font-weight    : 500;
  color          : var(--color-black-default, #091C34);
  text-transform : none;
  letter-spacing : 0;
}

/* Liste des options (checkboxes/radios) */
#amazzing_filter .af_filter ul {
  list-style    : none;
  padding       : 0;
  margin        : 0;
  max-height    : 300px;
  overflow-y    : auto;
  padding-right : 0.5rem;
}

#amazzing_filter .af_filter .child-categories {
  padding-left : 1.5rem;
}

#amazzing_filter .af_filter .child-categories li input[type="checkbox"], #amazzing_filter .af_filter .child-categories li input[type="radio"] {
  width      : 0.875rem;
  height     : 0.875rem;
  min-width  : 0.875rem;
  min-height : 0.875rem;
}

#amazzing_filter .af_filter .child-categories li .name {
  font-size : 0.8125rem;
}

/* Scrollbar personnalisée pour la liste */
#amazzing_filter .af_filter ul::-webkit-scrollbar {
  width : 4px;
}

#amazzing_filter .af_filter ul::-webkit-scrollbar-track {
  background    : var(--color-grey-default, #f3f5f7);
  border-radius : 2px;
}

#amazzing_filter .af_filter ul::-webkit-scrollbar-thumb {
  background    : var(--color-grey-font-default, #516765);
  border-radius : 2px;
}

/* Chaque item de la liste */
#amazzing_filter .af_filter ul > li {
  margin-bottom : 0;
}

#amazzing_filter .af_filter ul > li:last-child {
  margin-bottom : 0;
}

/* Label contenant checkbox + texte */
#amazzing_filter .af_filter ul li label {
  display       : flex;
  align-items   : center;
  gap           : 0.5rem;
  padding       : 0;
  border-radius : 0;
  cursor        : pointer;
  transition    : none;
}

#amazzing_filter .af_filter ul li label:hover {
  background-color : transparent;
}

/* Checkbox/Radio custom style (comme maquette) */
#amazzing_filter .af_filter ul li input[type="checkbox"],
#amazzing_filter .af_filter ul li input[type="radio"] {
  appearance         : none;
  -webkit-appearance : none;
  -moz-appearance    : none;
  width              : 1rem;
  height             : 1rem;
  min-width          : 1rem;
  min-height         : 1rem;
  flex-shrink        : 0;
  border             : 1px solid var(--color-secondary, hsl(213, 70%, 15%));
  border-radius      : 2px;
  background         : transparent;
  cursor             : pointer;
  position           : relative;
  transition         : all 0.15s ease;
}

#amazzing_filter .af_filter ul li input[type="radio"] {
  border-radius : 50%;
}

#amazzing_filter .af_filter ul li input[type="checkbox"]:checked,
#amazzing_filter .af_filter ul li input[type="radio"]:checked {
  background   : var(--color-secondary, hsl(213, 70%, 15%));
  border-color : var(--color-secondary, hsl(213, 70%, 15%));
}

/* Checkmark icon pour checkbox coché */
#amazzing_filter .af_filter ul li input[type="checkbox"]:checked::after {
  content      : '';
  position     : absolute;
  left         : 4px;
  top          : 1px;
  width        : 5px;
  height       : 9px;
  border       : solid #fff;
  border-width : 0 2px 2px 0;
  transform    : rotate(45deg);
}

/* Dot pour radio coché */
#amazzing_filter .af_filter ul li input[type="radio"]:checked::after {
  content       : '';
  position      : absolute;
  left          : 50%;
  top           : 50%;
  width         : 6px;
  height        : 6px;
  background    : #fff;
  border-radius : 50%;
  transform     : translate(-50%, -50%);
}

/* Focus state */
#amazzing_filter .af_filter ul li input[type="checkbox"]:focus,
#amazzing_filter .af_filter ul li input[type="radio"]:focus {
  outline    : none;
  box-shadow : 0 0 0 2px rgba(9, 28, 52, 0.15);
}

/* Label texte */
#amazzing_filter .af_filter ul li .name {
  font-size   : 0.875rem;
  font-weight : 500;
  color       : var(--color-grey-font-default, #516765);
  flex        : 1;
  display     : flex;
  align-items : center;
  cursor      : pointer;
  line-height : 1.4;
}

/* État actif (sélectionné) */
#amazzing_filter .af_filter ul li.active label {
  background-color : transparent;
}

#amazzing_filter .af_filter ul li.active .name {
  font-weight : 500;
  color       : var(--color-grey-font-default, #516765);
}

/* Compteur (masqué par défaut pour correspondre à la maquette) */
#amazzing_filter .af_filter ul li .count {
  display : none;
}

/* Si on veut afficher le compteur, décommenter ci-dessous */
/*
#amazzing_filter .af_filter ul li .count {
  font-size     : 0.75rem;
  color         : var(--color-grey-font-default, #516765);
  background    : var(--color-grey-default, #f3f5f7);
  padding       : 0.125rem 0.5rem;
  border-radius : 20px;
}

#amazzing_filter .af_filter ul li.active .count {
  background : var(--color-secondary, hsl(213, 70%, 15%));
  color      : #fff;
}
*/

/* Price slider styling (style maquette Lovable) */
#amazzing_filter .af-slider {
  padding : 0.25rem 0;
}

#amazzing_filter .af-slider .selected-bar {
  height        : 100%;
  background    : var(--color-secondary);
  border-radius : 9999px;
  position      : absolute;
}

#amazzing_filter .af-slider .pointer {
  width         : 1.25rem;
  height        : 1.25rem;
  background    : #fff;
  border        : 2px solid var(--color-secondary, hsl(213, 70%, 15%));
  border-radius : 50%;
  position      : absolute;
  top           : 50%;
  transform     : translate(-50%, -50%);
  cursor        : pointer;
  box-shadow    : none;
  transition    : box-shadow 0.15s ease, transform 0.15s ease;
}

#amazzing_filter .af-slider .pointer:hover {
  transform : translate(-50%, -50%);
}

#amazzing_filter .af-slider .pointer:focus {
  outline    : none;
  box-shadow : 0 0 0 2px rgba(9, 28, 52, 0.15);
}

#amazzing_filter .af-slider .slider-values {
  display         : flex;
  justify-content : space-between;
  align-items     : center;
  gap             : 0;
}

#amazzing_filter .af-slider .slider_value {
  display     : flex;
  align-items : center;
  gap         : 0;
}

#amazzing_filter .af-slider .slider_value input {
  display : none;
}

#amazzing_filter .af-slider .slider_value .value {
  font-size : 0.75rem;
  color     : var(--color-grey-font-default, #516765);
}

#amazzing_filter .af-slider .prefix,
#amazzing_filter .af-slider .suffix {
  display : none;
}

/* Affichage simplifié min/max sous le slider */
#amazzing_filter .af-slider .from_display .value::after {
  content : ' €';
}

#amazzing_filter .af-slider .to_display .value::after {
  content : ' €';
}

/* View products button */
#amazzing_filter .btn-holder {
  margin-top : 1rem;
  text-align : center;
}

#amazzing_filter .btn-holder .viewFilteredProducts {
  display         : inline-block;
  width           : 100%;
  padding         : 0.75rem 1rem;
  background      : var(--color-secondary, hsl(213, 70%, 15%));
  color           : #fff;
  border          : none;
  border-radius   : var(--radius-sm, 5px);
  font-size       : 0.875rem;
  font-weight     : 500;
  text-decoration : none;
  cursor          : pointer;
  transition      : background-color 0.2s ease;
}

#amazzing_filter .btn-holder .viewFilteredProducts:hover {
  background : var(--color-primary, hsl(210, 90%, 45%));
}

/* Hidden items */
#amazzing_filter .hidden {
  display : none !important;
}

/* Quick search */
#amazzing_filter .af-quick-search {
  margin-bottom : 0.5rem;
}

#amazzing_filter .af-quick-search input {
  width         : 100%;
  padding       : 0.5rem 0.75rem;
  border        : 1px solid var(--color-secondary, hsl(213, 70%, 15%));
  border-radius : 2px;
  font-size     : 0.875rem;
  background    : transparent;
}

#amazzing_filter .af-quick-search input:focus {
  outline    : none;
  box-shadow : 0 0 0 2px rgba(9, 28, 52, 0.15);
}

#amazzing_filter .af-quick-search input::placeholder {
  color : var(--color-grey-font-default, #516765);
}

/* Toggle more filters */
#amazzing_filter .toggleMoreFilters {
  width         : 100%;
  padding       : 0.5rem 0.75rem;
  background    : transparent;
  border        : 1px solid var(--color-grey-font-default, #516765);
  border-radius : 2px;
  color         : var(--color-grey-font-default, #516765);
  font-size     : 0.75rem;
  cursor        : pointer;
  transition    : all 0.15s ease;
}

#amazzing_filter .toggleMoreFilters:hover {
  border-color : var(--color-secondary, hsl(213, 70%, 15%));
  color        : var(--color-secondary, hsl(213, 70%, 15%));
}

/* Cut off toggle */
#amazzing_filter .toggle-cut-off {
  display         : block;
  margin-top      : 0.5rem;
  font-size       : 0.75rem;
  color           : var(--color-grey-font-default, #516765);
  text-decoration : none;
  cursor          : pointer;
  transition      : color 0.15s ease;
}

#amazzing_filter .toggle-cut-off:hover {
  color           : var(--color-secondary, hsl(213, 70%, 15%));
  text-decoration : none;
}

#amazzing_filter .toggle-cut-off .more {
  display : inline;
}

#amazzing_filter .toggle-cut-off .less {
  display : none;
}

#amazzing_filter .toggle-cut-off.expanded .more {
  display : none;
}

#amazzing_filter .toggle-cut-off.expanded .less {
  display : inline;
}

/* No matches styling */
#amazzing_filter .no-matches {
  opacity : 0.5;
}

/* Color display filters */
#amazzing_filter .af-inline-colors {
  display   : flex;
  flex-wrap : wrap;
  gap       : 0.5rem;
}

#amazzing_filter .af-inline-colors li {
  margin-bottom : 0 !important;
}

#amazzing_filter .af-inline-colors li label {
  min-height : auto;
  padding    : 0.25rem;
}

#amazzing_filter .af-color-box {
  display       : inline-block;
  width         : 1.5rem;
  height        : 1.5rem;
  border-radius : 2px;
  border        : 1px solid rgba(0, 0, 0, 0.1);
  cursor        : pointer;
  transition    : transform 0.15s ease, box-shadow 0.15s ease;
}

#amazzing_filter .af-color-box:hover {
  transform  : scale(1.1);
  box-shadow : 0 2px 6px rgba(0, 0, 0, 0.15);
}

#amazzing_filter .af-inline-colors li.active .af-color-box {
  box-shadow : 0 0 0 2px var(--color-secondary, hsl(213, 70%, 15%));
}

#amazzing_filter .af-color-box.bright {
  border-color : rgba(0, 0, 0, 0.15);
}

/* Parent category toggle */
#amazzing_filter .af-toggle-child {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  margin-left     : 0.25rem;
  width           : 16px;
  height          : 16px;
  border          : none;
  cursor          : pointer;
  transition      : transform 0.15s ease;
}

#amazzing_filter .af-toggle-child::before {
  content      : '';
  width        : 0;
  height       : 0;
  border-left  : 4px solid transparent;
  border-right : 4px solid transparent;
  border-top   : 5px solid var(--color-grey-font-default, #516765);
}

#amazzing_filter .af-toggle-child.expanded {
  transform : rotate(180deg);
}

#amazzing_filter .af-toggle-child.expanded::before {
  border-top-color : var(--color-secondary, hsl(213, 70%, 15%));
}

/* Remove the default + / - pseudo-element from foldered categories */
#amazzing_filter.foldered .af-toggle-child:after,
.foldered .af-toggle-child:after {
  display : none !important;
  content : none !important;
}

/* Customer filter lock icon */
#amazzing_filter .af_filter .customer-filter-label {
  cursor : default;
}

/* Histogram */
#amazzing_filter .af-histogram {
  display       : flex;
  align-items   : flex-end;
  gap           : 2px;
  height        : 40px;
  margin-bottom : 0.75rem;
}

#amazzing_filter .af-histogram .hst-bin {
  flex          : 1;
  background    : var(--color-grey-default, #f3f5f7);
  min-height    : 4px;
  border-radius : 2px 2px 0 0;
}

/* Child categories - arborescence style */
#amazzing_filter .child-categories {
  margin-left  : 1.5rem;
  margin-top   : 0.25rem;
  padding-left : 0;
  border-left  : none;
}

#amazzing_filter .child-categories li {
  margin-bottom : 0;
}

#amazzing_filter .child-categories li label {
  padding    : 0;
  min-height : 1.5rem;
  gap        : 0.5rem;
}

#amazzing_filter .child-categories li .name {
  font-size : 0.8125rem;
}

#amazzing_filter .child-categories li .count {
  display : none;
}

#amazzing_filter .child-categories li input[type="checkbox"],
#amazzing_filter .child-categories li input[type="radio"] {
  width      : 0.875rem;
  height     : 0.875rem;
  min-width  : 0.875rem;
  min-height : 0.875rem;
}

/* Checkmark ajusté pour checkbox plus petite */
#amazzing_filter .child-categories li input[type="checkbox"]:checked::after {
  left   : 3px;
  top    : 0;
  width  : 4px;
  height : 8px;
}

#amazzing_filter .child-categories .child-categories li .name {
  font-size : 0.75rem;
}

#amazzing_filter .af-slider .slider-bar {
  margin-left : 16px;
  background  : var(--color-white-default)
}

.help-banner {
  background : var(--color-grey-light) !important;
}
