/********************
	Part - layout
********************/
.wrapper__inner {
  display        : flex;
  flex-direction : column;
}

.section-after-listing {
  margin-bottom : 90px;
}

/********************
	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
********************/

/********************
	Part - Listes produits
********************/
.products {
  display               : grid;
  grid-template-columns : repeat(auto-fill, minmax(265px, 1fr));
  grid-gap              : 20px;
  justify-content       : space-between;
}

/********************
	Part - Style général des back to top
********************/
.product-list__back-to-top {
  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
********************/
#products .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 css
**************************/

#category .breadcrumb {
  padding : 20px 0 140px;
}

#main {
  position : relative;
}

#js-product-list-header.container-primary {
  position : absolute;
  top      : -120px;
  right    : calc(var(--container-primary-margins) / 2);
}

.page-header {
  padding  : 0;
  position : absolute;
  left     : 56px;
  top      : 100px;
  z-index  : 1;
}

.block-category {
  display     : flex;
  align-items : center;
}

.block-category__text {
  margin-bottom : 20px;
}

#js-product-list-header .page-header h1 {
  color          : var(--color-tertiary);
  font-size      : 32px;
  font-style     : normal;
  font-weight    : 700;
  line-height    : normal;
  background     : none;
  border         : none;
  text-transform : initial;
  text-align     : left;
  padding        : 0;
}

#js-product-list-header .block-category:has(.category-cover) .page-header h1 {
  color : var(--color-white-default);
}

.category-cover {
  width : 100%;
}

.category-cover img {
  object-fit    : cover;
  border-radius : 7px;
  width         : 100%;
}

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

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

.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 {
  margin-bottom : 100px;
}

.dynamic-loading.prev {
  margin-bottom : 0;
  margin-top    : 50px;
}

.dynamic-loading .btn {
  background  : transparent;
  color       : var(--color-primary);
  box-shadow  : none;
  display     : flex;
  align-items : center;
  height      : auto;
  border      : 1px solid var(--color-primary);
  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 !important;
}

.head-listing_container {
  display         : flex;
  justify-content : space-between;
  align-items     : center;
}

#amazzing_filter .af_filter {
  border  : none;
  padding : 0;
  margin  : 0;
  z-index : 1;
}

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

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

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

.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;
  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       : 2;
  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;
}

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

.total-products__container {
  color       : var(--color-primary);
  font-size   : 15px;
  font-style  : normal;
  font-weight : 600;
  line-height : normal;
}

.af_pl_wrapper {
  padding-top : 45px;
}

/*******************
  Part - after listing
********************/

.category-description_container, .livraison-description_container {
  padding-bottom : 40px;
}

.category-description_container {
  border-bottom : 1px solid #C9D4E3;
}

.category-description_container .h3, .livraison-description_container .h3 {
  color          : var(--color-primary);
  font-size      : 28px;
  font-style     : normal;
  font-weight    : 700;
  line-height    : 42px;
  margin         : 50px 0 15px;
  text-transform : initial;
}

#category-description, #livraison-description {
  color       : var(--color-primary);
  font-size   : 15px;
  font-style  : normal;
  font-weight : 500;
  line-height : 180%;
}

#category-description {
  opacity : 0.7;
}

/********************
	Part - products
********************/
#products {
  padding-top    : 160px;
  display        : flex;
  flex-direction : column;
  background     : var(--color-white-default);
}

/********************
	Part - additional_description category
********************/
@supports not (-webkit-touch-callout: none) {
  .additional-description-text {
    overflow           : hidden;
    text-overflow      : ellipsis;
    display            : -webkit-box;
    -webkit-line-clamp : 3; /* number of lines to show */
    line-clamp         : 3;
    -webkit-box-orient : vertical;
    transition         : 0.4s ease;
  }

  .additional-description-text p {
    line-height : 1.4rem;
  }
}

.additional-description__container {
  margin-top : 20px;
}

.additional-description-text a {
  color : var(--color-secondary)
}

.additional-description-text a:hover {
  text-decoration : underline;
}

@supports (-webkit-touch-callout: none) {
  .additional-description-text {
    overflow   : hidden;
    max-height : 200px;

  }

  .additional-description-text p {
    display     : inline-block;
    line-height : 1.4rem;
  }
}

.see-more-btn {
  position    : relative;
  display     : flex;
  align-items : center;
  background  : transparent;
  color       : var(--color-secondary);
  cursor      : pointer;
  padding-top : 10px;
}

.see-more-btn-text--is-hidden, .see-less-btn-text--is-hidden {
  display : none !important;
}

.see-more-btn-text, .see-less-btn-text {
  display : block;
}

.additional-description-text--is-extended {
  -webkit-line-clamp : unset;
  line-clamp         : unset;
}

#module-ambjolisearch-jolisearch .page-header {
  position : initial;
}

#module-ambjolisearch-jolisearch .page-header h1, #module-ambjolisearch-jolisearch .page-header h2 {
  padding : 2em 1.5em 0;
}

#module-ambjolisearch-jolisearch #products {
  padding-top : 60px;
}
