/********************
	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      : 0;

}

/********************
	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(auto-fill, minmax(280px, 1fr));
  grid-gap              : 20px;
  justify-content       : space-between;
}

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

.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
********************/
.page-not-found {
  display        : flex;
  flex-direction : column;
  align-items    : center;
}

/********************
	Part - Style pagination
********************/
.pagination {
  width : 100%
}

.pagination > div:first-child {
  line-height : 2.5rem
}

.pagination .page-list {
  background    : #fff;
  padding       : .375rem;
  margin-bottom : 0;
  box-shadow    : 2px 2px 4px 0 rgba(0, 0, 0, .2)
}

.pagination .page-list li {
  display : inline
}

.pagination a {
  color       : #000;
  font-weight : 600
}

.pagination a:not(.previous):not(.next) {
  letter-spacing : .125rem
}

.pagination .previous {
  float : left
}

.pagination .next {
  float : right
}

.pagination .disabled {
  color : var(--color-grey-font-default)
}

.pagination .current a {
  color           : #2fb5d2;
  text-decoration : none;
  font-size       : 1.25rem
}

/********************
	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
********************/
#search_filters,
#search_filters_brands,
#search_filters_suppliers {
  margin-bottom : 1.563rem;
  background    : #fff;
  padding       : 1.563rem 1.25rem
}

#search_filters .facet,
#search_filters_brands .facet,
#search_filters_suppliers .facet {
  padding-top : .625rem
}

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

#search_filters .facet .facet-title,
#search_filters_brands .facet .facet-title,
#search_filters_suppliers .facet .facet-title {
  color : var(--color-grey-font-default)
}

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

#search_filters .facet .facet-label a,
#search_filters_brands .facet .facet-label a,
#search_filters_suppliers .facet .facet-label a {
  margin-top : .4375rem;
  color      : var(--color-black-default);
  display    : inline-block;
  font-size  : .9375rem
}

#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 : .3125rem
}

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

/********************
	Part - Style facets
********************/
.facets-title {
  color : var(--color-black-default)
}

.facet-dropdown {
  color         : var(--color-grey-font-default);
  padding-left  : 0;
  padding-right : 0;
  background    : var(--color-grey-default);
  border        : 3px solid transparent;
  box-sizing    : border-box;
  box-shadow    : 1px 1px 1px 1px var(--color-grey-default)
}

.facet-dropdown.open {
  border : 0
}

.facet-dropdown.open > .select-title {
  border     : 3px solid #2fb5d2;
  background : #f6f6f6
}

.facet-dropdown .select-title {
  display           : -webkit-inline-box;
  display           : -ms-inline-flexbox;
  display           : inline-flex;
  -webkit-box-align : center;
  -ms-flex-align    : center;
  align-items       : center;
  margin-left       : 0;
  width             : 100%;
  color             : var(--color-black-default);
  background        : var(--color-grey-default);
  padding           : .625rem .625rem .625rem 1.25rem;
  cursor            : pointer
}

.facet-dropdown .select-title > i {
  margin-left : auto
}

.facet-dropdown .select-list {
  display    : block;
  color      : var(--color-black-default);
  background : #f6f6f6;
  padding    : .625rem 1.25rem
}

.facet-dropdown .select-list:hover {
  background      : #2fb5d2;
  color           : #fff;
  text-decoration : none
}

.facet-dropdown .dropdown-menu {
  padding    : 0;
  margin-top : 3px;
  left       : auto;
  width      : 100%;
  background : #f6f6f6;
  border     : none;
  box-shadow : 1px 1px 1px 1px var(--color-grey-default)
}

/**************************
	Part - Custom listing
**************************/

.wrapper__inner.container-primary, #module-ambjolisearch-jolisearch .before-footer {
  max-width  : 100%;
  background : var(--color-grey-default);
}

#manufacturer .wrapper__inner {
  background : var(--color-grey-default);
}

#manufacturer .wrapper__inner .left-column.container-primary {
  padding-top : 50px;
  max-width   : var(--container-primary-max-width);
}

.breadcrumb__wrapper, #module-ambjolisearch-jolisearch .breadcrumb__wrapper, #manufacturer .breadcrumb__wrapper {
  background : var(--color-white-default);
}

#products, #module-ambjolisearch-jolisearch #products, #manufacturer .products {
  background : var(--color-grey-default);
  padding    : 50px 0 80px;
}

.page-header h1, .page-header h2 {
  border         : none;
  color          : var(--color-secondary);
  text-align     : center;
  font-size      : 28px;
  font-style     : normal;
  font-weight    : 700;
  line-height    : normal;
  letter-spacing : 0.84px;
  text-transform : uppercase;
  padding        : 0;
}

.block-category {
  padding-bottom : 30px;
}

.page-header h2 {
  padding : 20px 0 40px;
}

.head-listing_container, #module-ambjolisearch-jolisearch .head-listing_container, #manufacturer .head-listing_container {
  display         : flex;
  gap             : 30px;
  align-items     : center;
  padding-right   : 20px;
  flex-wrap       : wrap;
  justify-content : space-between;
  row-gap         : 10px;
}

.display-choice_container {
  display        : flex;
  gap            : 10px;
  align-items    : center;
  font-size      : 15px;
  font-style     : normal;
  font-weight    : 500;
  line-height    : 30px;
  letter-spacing : 0.3px;
  padding-left   : 20px;
}

.display-choice {
  display     : flex;
  gap         : 10px;
  align-items : center;
}


.display-choice_grid, .display-choice_inline {
  display     : flex;
  align-items : center;
}

.display-choice .display-choice_inline.active svg {
  color : var(--color-primary);
}

.display-choice .display-choice_grid.active svg {
  color : var(--color-primary);
}

.display-choice svg {
  cursor     : pointer;
  transition : all 0.3s ease-in-out;
  color      : #D5D9DE;
}

.total-products__container {
  white-space    : nowrap;
  font-size      : 17px;
  font-style     : normal;
  font-weight    : 600;
  line-height    : normal;
  letter-spacing : 0.34px;
  padding-left   : 20px;
}

.products {
  padding-top : 50px;
}


/*****************************************
	Part - Custom listing - Inline
*****************************************/

.display-inline .products, #manufacturer .display-inline.products {
  display        : flex;
  flex-direction : column;
  gap            : 30px;
}

.display-inline .product-miniature .product-thumbnail.--lazyload {
  position       : relative;
  width          : 160px;
  padding-bottom : 170px;
  height         : 0;
  margin-left    : 60px;
  margin-top     : 30px;
  margin-bottom  : 30px;
}

.display-inline .product-miniature .thumbnail-container {
  flex-direction : row;
  padding        : 0;
  align-items    : center;
  gap            : 20px;
}

.display-inline .product-miniature .product-description {
  display               : grid;
  grid-template-columns : auto 92px 160px 350px;
  grid-template-rows    : 90px auto;
  flex                  : unset;
  padding               : 0;
  column-gap            : 30px;
  min-height            : 230px;
  border-radius         : 0 10px 10px 0;
}

.display-inline .product-miniature .product-flags {
  position : absolute;
  top      : 0;
  left     : 0;
  right    : unset;
}

.display-inline .product-miniature .product-flag {
  margin-top  : 24px;
  margin-left : 27px;
}

.display-inline .product-miniature .product-title {
  font-size      : 22px;
  font-style     : normal;
  font-weight    : 700;
  line-height    : normal;
  letter-spacing : 0.44px;
  margin         : 0;
  padding-top    : 35px;
}

.display-inline .product-miniature .min-product-features_container {
  grid-column : 1;
  grid-row    : 2;
  padding     : 0 0 15px 0;
}

.display-inline .product-miniature .product-manufacturer {
  grid-column     : 2;
  grid-row        : 1;
  display         : flex;
  justify-content : flex-end;
  padding-top     : 35px;
  align-items     : flex-start;
}

.display-inline .product-miniature .product-manufacturer a {
  padding : 0;
}

.display-inline .product-miniature .product-manufacturer img {
  width : 92px
}

.display-inline .product-miniature .product-promotions-container {
  grid-column : 3;
  grid-row    : 1/3;
}

.display-inline .product-miniature .product-promotion {
  justify-content : unset;
  flex-direction  : column;
  padding         : 15px 0;
  max-width       : 160px;
  margin          : 35px 0;
}

.display-inline .product-miniature .product-promotion_svg {
  padding : 0;
  border  : none;
}

.display-inline .product-miniature .promotion-details {
  padding : 0;
}

.display-inline .product-miniature .promotion-details .promotion-details_title {
  text-align     : center;
  font-size      : 17px;
  font-style     : normal;
  font-weight    : 800;
  line-height    : 19px;
  text-transform : uppercase;
  border-bottom  : 1px dashed #CCD3DE;
  padding        : 6px 5px 12px;
}

.display-inline .product-miniature .promotion-details .promotion-details_content {
  text-align     : center;
  font-size      : 15px;
  font-style     : normal;
  font-weight    : 600;
  line-height    : 17px;
  letter-spacing : 0.3px;
  padding        : 12px 15px 0;
}

.display-inline .product-miniature .product-price-and-shipping {
  grid-column     : 4;
  grid-row        : 1;
  border-radius   : 0;
  background      : none;
  min-height      : 0;
  display         : flex;
  align-items     : center;
  justify-content : center;
  gap             : 12px;
  border-left     : 1px solid #DFE4ED;
  border-bottom   : 1px solid #DFE4ED;
  padding         : 0 40px;
}

.display-inline .product-miniature .add-to-cart__wrapper {
  grid-column    : 4;
  grid-row       : 2;
  height         : 100%;
  border-left    : 1px solid #DFE4ED;
  padding        : 25px 40px;
  display        : flex;
  flex-direction : column;
  align-items    : center;
}

.display-inline .product-miniature .add-to-cart__wrapper .add-to-cart-link_container {
  display : block;
}

.display-inline .product-miniature .add-to-cart__wrapper .add-to-cart-link {
  text-align                : center;
  font-size                 : 14px;
  font-style                : normal;
  font-weight               : 500;
  line-height               : normal;
  letter-spacing            : 0.28px;
  text-decoration-line      : underline;
  text-decoration-style     : solid;
  text-decoration-skip-ink  : none;
  text-decoration-thickness : auto;
  text-underline-offset     : auto;
  text-underline-position   : from-font;
}

#category-description {
  margin : 90px 0 0;
}

.display-inline .product-miniature .discount-percentage, .display-inline .product-miniature .discount-amount {
  right         : 0;
  top           : 0;
  left          : unset;
  border-radius : 0 10px 0 10px;
  background    : var(--color-primary);
}

/*************************
Part Pagination
**************************/

.dynamic-product-count {
  margin : 70px 0 30px;
}

.products-loading-status {
  position      : relative;
  background    : #D3D8DF;
  width         : 100%;
  max-width     : 350px;
  height        : 8px;
  margin        : 1.5em auto;
  border-radius : 50px;
}

.products-loading-status__loaded-bar {
  position      : absolute;
  left          : 0;
  top           : 0;
  bottom        : 0;
  height        : 100%;
  background    : var(--color-primary);
  border-radius : 50px;
}

.dynamic-loading .btn {
  background  : transparent;
  color       : var(--color-primary);
  box-shadow  : none;
  display     : flex;
  align-items : center;
  height      : auto;
  transition  : all 0.3s ease-in-out;
}

.dynamic-loading .btn:hover {
  background : var(--color-primary);
  color      : var(--color-white-default);
}

.dynamic-loading .btn span {
  padding : 0 25px;
}

.dynamic-loading .relative-container {
  display         : flex;
  justify-content : center;
}


/*******************
  Part - Filters
********************/

#amazzing_filter .title_block {
  display : none
}

#amazzing_filter .af_filter {
  border  : none;
  padding : 0;
}

#af_form {
  display   : flex;
  gap       : 20px;
  row-gap   : 10px;
  flex-wrap : wrap;
  padding   : 0 0 0 20px;
}

span.hidden_inputs {
  margin-left : -20px;
}

.af_subtitle.toggle-content {
  padding        : 15px 35px 15px 20px;
  font-size      : 17px;
  font-style     : normal;
  font-weight    : 600;
  line-height    : normal;
  letter-spacing : 0.34px;
  border-radius  : 50px;
  border         : 1px solid #E3E3EF;
  background     : #FFF;
  color          : var(--color-secondary);
}

.af_subtitle.toggle-content:before {
  border       : 2px solid var(--color-black-default);
  border-width : 0 2px 2px 0;
  right        : 15px;
  margin-top   : -5px;
}

#amazzing_filter .block_content {
  display        : flex;
  flex-direction : column-reverse;
  gap            : 5px;
}

.selectedFilters {
  padding-left : 20px;
  display      : flex;
}

.block_content > .selectedFilters {
  display   : flex;
  flex-wrap : wrap;
}

.selectedFilters .clearAll {
  background : transparent;
}

.block_content > .selectedFilters > .clearAll a {
  padding       : 5px 10px;
  border-radius : 5px;
  display       : inline-block;
  background    : var(--color-black-default);
  color         : var(--color-white-default);
}

.block_content > .selectedFilters > .cf {
  margin        : 4px 5px 4px 5px;
  border-radius : 10px;
  padding       : 7px 25px 7px 10px;
  background    : #e8e8e8;
}

.af_filter_content.dropdown-menu {
  display        : flex;
  flex-direction : column;
}

.af_filter_content.dropdown-menu a {
  padding : 5px 0;
}

.af_filter.closed .af_filter_content.dropdown-menu {
  display : none;
}

.af_filter_content {
  position      : absolute;
  z-index       : 1;
  background    : white;
  padding       : 20px;
  border-radius : 10px;
  top           : 110%;
  left          : 10px;
  width         : 300px;
  border        : 1px solid var(--color-grey-default);
}

.af_filter li {
  padding : 5px 0;
}

.count {
  bottom : 0;
}

.product-list__filters.compact-toggle.type-1.ready {
  display : none;
}

#amazzing_filter .products-sort-order {
  display : none;
}
