/* ---- Collection page ---- */
.collection__page-description {
  margin: 30px 0;
}

.collection__page-image img {
    width: 100%;
}

@media screen and (max-width: 739px) {
  .collection__page-image {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
  }
}

/* ---- Collection page sidebar ---- */
.collection__page-sidebar .box-ratio {
  margin-bottom: 10px;
}

.collection__page-sidebar button.js-accordion-header small {
  margin-left: 5px;
  margin-top: 2px;
  opacity: 0.7;
}

.collection__page-sidebar h4 small {
  font-size: 12px;
  font-weight: var(--main-weight);
  margin-left: 5px;
  letter-spacing: initial;
}

.collection__page-sidebar ul {
  list-style-type: none;
}

.collection__page-sidebar ul li.current a {
  text-decoration: none;
}

ul.collection__sidebar-menu {
    margin-bottom: 30px;
}

ul.collection__sidebar-menu li {
    margin-bottom: 5px;
}

ul.collection__sidebar-menu li a {
  flex: 1 0 100%;
  justify-content: space-between;
}

ul.collection__sidebar-menu li a:hover {
    text-decoration: underline;
}

ul.collection__sidebar-menu li a.current {
    text-decoration: underline;
}

ul.collection__sidebar-menu li span.parent_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
}

ul.collection__sidebar-menu li ul.nested {
  margin-left: 10px;
  margin-top: 5px;
  margin-bottom: 10px;
  display: none;
}

ul.collection__sidebar-menu li ul.nested.open {
  display: block;
}

ul.collection__sidebar-menu li.js-parent-menu.open > .parent_item > svg {
  transform: rotate(180deg);
}

@media screen and (max-width: 980px) {
  .collection__page-sidebar {
    display: none;
  }
  .collection__page-sidebar.open {
    display: block;
  }
}

/* ---- Collection page sidebar & filters ---- */
.collection__page-sidebar .c-accordion .c-accordion__panel {
  min-height: unset !important;
  transform: scaleY(0);
  opacity: 0;
  transform-origin: top;
  transition: transform 0.35s ease, opacity .5s ease;
}

.collection__page-sidebar .c-accordion .c-accordion__panel.is-active {
  transform: scaleY(1);
  opacity: 1;
  transition: transform 0.35s ease, opacity .5s ease;
  max-height: unset !important;
}

.collection__page-sidebar .c-accordion .c-accordion__panel.is-active::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 3px;
}
.collection__page-sidebar .c-accordion .c-accordion__panel.is-active::-webkit-scrollbar-thumb {
    border-radius: 1px;
    background-color: rgba(0,0,0,.5);
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}

.collection__page-sidebar .filter ul {
  width: 100%;
  margin-bottom: 0;
}

.collection__page-sidebar .filter label {
  font-weight: normal;
  display: inline-block;
  margin-bottom: 0;
  font-size: var(--font-size);
}

.filter ul li.disabled {
  opacity: 0.7;
}

.filter ul li.disabled a.disabled {
  cursor: default;
}

.filter ul li.disabled span.color-filter.color-filter--rounded.color-filter--disabled.disabled {
    opacity: 0.4;
}

.filter ul li.current a:before {
  color: var(--text-color);
  margin-bottom: 0;
}
.filter ul li a {
  position: relative;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.filter.filter--color .color-filter {
  min-width: var(--color-filter-size, 20px) !important;
  width: var(--color-filter-size, 20px) !important;
  height: var(--color-filter-size, 20px) !important;
  line-height: calc(var(--color-filter-size, 20px) - 2px) !important;
  vertical-align: middle;
  border: 2px solid #fff;
  box-shadow: 0px 0px 0px 1px var(--dotted-color, #d6d6d6);
  display: inline-block;
  margin: 0 0 0 2px;
  line-height: initial;
  vertical-align: middle;
  background-size: contain;
  background-position: center;
  cursor: pointer;
}

.filter.filter--color .color-filter.color-filter--rounded {
  border-radius: 50%;
}

.filter.filter--color .color-filter:hover,
.filter.filter--color .color-filter.current {
  box-shadow: 0px 0px 0px 1px var(--text-color, #000000);
}

.filtering__results ul.current_tags li {
  margin-bottom: 10px;
  margin-right: 10px;
  display: inline-block;
}

.filtering__results ul.current_tags li.current_tag a {
    background: #f5f5f5;
    padding: 10px 25px 10px 8px;
    color: var(--text-color);
    display: block;
    position: relative;
}

.filtering__results ul.current_tags li.current_tag a:after {
    content: "x";
    position: absolute;
    right: 10px;
    font-size: 17px;
}

.filtering__results ul.current_tags li a.clear-tags {
    text-decoration: underline;
}

.filter ul li {
  margin: 5px 5px 5px 0;
}

.sidebar-filter.filter--price-range {
    padding-bottom: 30px;
}

.sidebar-filter.filter--price-range > .filter-range__boxes.js-price-range,
.filter > .rte,
.collection__sidebar-menu {
  padding-top: 8px;
}

span.filter__count {
    font-size: 80%;
    margin-left: 2px;
}

.checkbox-wrapper {
  font-family: var(--main-family);
  font-weight: var(--main-weight);
  display: block;
  position: relative;
  margin-bottom: 5px;
  cursor: pointer;
}
.checkbox-wrapper input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.checkbox-indicator {
  height: 18px;
  width: 18px;
  background: #ffffff;
  border: 1px solid #d5d5d5;
  border-radius: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.checkbox-wrapper:hover input ~ .checkbox-indicator,
.checkbox-wrapper input:focus ~ .checkbox-indicator {
  background: #ffffff;
}

.checkbox-wrapper input:checked ~ .checkbox-indicator {
  background: #ffffff;
}
.checkbox-wrapper:hover input:not([disabled]):checked ~ .checkbox-indicator,
.checkbox-wrapper input:checked:focus ~ .checkbox-indicator {
  background: #ffffff;
}
.checkbox-wrapper input:disabled ~ .js-hz-filter-label {
  opacity: 0.7;
  pointer-events: none;
}
.checkbox-indicator:after {
  box-sizing: unset;
  content: '';
  position: absolute;
  display: none;
}
.checkbox-wrapper input:checked ~ .checkbox-indicator:after {
  display: block;
}
.checkbox-wrapper .checkbox-indicator:after {
  width: 3px;
  height: 8px;
  border: solid #000000;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.checkbox-wrapper input:disabled ~ .checkbox-indicator:after {
  border-color: #7b7b7b;
}

/* ---- Collection horizontal toolbar ---- */
.collection__filtering {
  position: relative;
  width: 100%;
  display: inline-block;
  height: 50px;
  border-radius: unset !important;
}
@media screen and (max-width: 980px) {
  .collection__filtering {
    width: 100%;
    display: block;
  }
}
.collection__horizontal-toolbar .chosen-value,
.collection__horizontal-toolbar .value-list {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.collection__horizontal-toolbar .chosen-value {
  height: 50px;
  font-size: var(--font-size);
  background-color: var(--background);
  border: 1px solid var(--dotted-color);
  transition: 0.3s ease-in-out;
  text-align: left;
  margin-bottom: 0 !important;
}
.collection__horizontal-toolbar .value-list li [type="checkbox"],
.collection__page-sidebar .filter [type="checkbox"] {
  display: none;
}
.collection__horizontal-toolbar .chosen-value::-webkit-input-placeholder {
  color: var(--text-color);
}
.collection__horizontal-toolbar .chosen-value:hover {
  cursor: pointer;
}
.collection__horizontal-toolbar .chosen-value:focus,
.collection__horizontal-toolbar .chosen-value.open {
  box-shadow: 0 0 0 0;
  outline: 0;
}
.chosen-value::placeholder {
  color: var(--text-color) !important;
  opacity: 1 !important;
}
.collection__horizontal-toolbar .value-list {
  list-style: none;
  margin-top: 50px;
  box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  max-height: 0;
  transition: 0.3s ease-in-out;
  z-index: 5;
  background: var(--background);
}
.collection__horizontal-toolbar .value-list label {
  font-weight: normal;
  margin-bottom: 0;
  font-size: 15px;
  cursor: pointer;
}
.collection__horizontal-toolbar .value-list.open {
  max-height: 320px;
  overflow: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}
.collection__horizontal-toolbar .value-list li {
  position: relative;
  height: auto;
  background-color: var(--background);
  cursor: pointer;
  transition: background-color 0.3s;
  opacity: 1;
  display: flex;
  align-items: center;
  line-height: 1.6em;
  gap: 10px;
}
.collection__horizontal-toolbar .value-list li span:hover {
  text-decoration: underline;
}
.collection__horizontal-toolbar .value-list li.closed {
  max-height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
}
.collection__horizontal-toolbar .color-filter {
  min-width: var(--color-filter-size, 20px) !important;
  width: var(--color-filter-size, 20px) !important;
  height: var(--color-filter-size, 20px) !important;
  line-height: calc(var(--color-filter-size, 20px) - 2px) !important;
  vertical-align: middle;
  border: 2px solid #fff;
  box-shadow: 0px 0px 0px 1px var(--dotted-color, #d6d6d6);
  display: inline-block;
  margin: 0 10px 0 0;
  line-height: initial;
  vertical-align: middle;
  background-size: contain;
  background-position: center;
  cursor: pointer;
}

.collection__horizontal-toolbar .color-filter.color-filter--rounded {
  border-radius: 50%;
}
.collection__horizontal-toolbar .checkbox-indicator {
  left: 11px;
}
.collection__horizontal-toolbar .filter--regular .checkbox-wrapper,
.collection__horizontal-toolbar .filter--size .checkbox-wrapper {
  padding-left: 10px;
}
.collection__horizontal-toolbar .filter--color .checkbox-wrapper {
  padding-left: 10px;
}
.collection__horizontal-toolbar li a:hover .color-filter,
.collection__horizontal-toolbar .color-filter.current {
  box-shadow: 0px 0px 0px 1px var(--text-color, #000000);
}

.collection__horizontal-toolbar .value-list > li.disabled {
  color: var(--disabled-text);
  cursor: not-allowed;
  pointer-events: none;
  text-decoration: none;
}
.collection__horizontal-toolbar #collection--filters {
  line-height: 0;
  width: 100%;
  text-align: left;
}

.collection__page-filter {
  margin-bottom: 20px;
}

.filter-toggle__trigger {
  height: 50px;
  font-size: var(--font-size);
  background-color: var(--background);
  color: var(--text-color);
  border: 1px solid var(--dotted-color);
  border-radius: 0 !important;
  transition: .3s ease-in-out;
  text-align: left;
  margin-bottom: 0!important;
  position: relative;
  width: 100%;
  display: inline-block;
  line-height: 48px;
  padding-left: 10px;
}

@media screen and (max-width: 980px) {
  .filter-toggle__trigger {
    width: 100%;
    display: block;
  }
}

.filter-toggle__trigger:hover {
  background-color: var(--background);
  color: var(--text-color);
  border: 1px solid var(--dotted-color);
}

/* ---- Price Range ---- */

.filter-price__trigger {
  height: 50px;
  font-size: var(--font-size);
  background-color: var(--background);
  color: var(--text-color);
  border: 1px solid var(--dotted-color);
  border-radius: 0 !important;
  transition: .3s ease-in-out;
  text-align: left;
  margin-bottom: 0!important;
  position: relative;
  width: 100%;
  display: inline-block;
  line-height: 48px;
  padding-left: 10px;
}

.filter-price__trigger:hover {
  background-color: var(--background);
  color: var(--text-color);
  border: 1px solid var(--dotted-color);
}

.collection__horizontal-toolbar .filter--price-range {
  position: relative;
}

.collection__horizontal-toolbar .filter-toggle__trigger:hover {
  cursor: pointer;
}

.collection__horizontal-toolbar .filter-price__dropdown {
  box-shadow: 0 5px 8px 0 rgb(0 0 0 / 20%);
  transition: .3s ease-in-out;
  z-index: 2;
  position: absolute;
  top: 50px;
  left: 0;
  background: var(--background);
  padding: 20px 10px;
  line-height: initial;
  width: 100%;
}

.collection__horizontal-toolbar .filter-price__trigger.active {
  box-shadow: 0 0 0 0;
  outline: 0;
}

.collection__horizontal-toolbar .filter-range__footer {
  border-top: 1px solid var(--dotted-color);
  padding-top: 10px;
}

/* ---- Collection page top filters ---- */

.collection__filter-wrapper {
  display: none;
}

.collection__filter-wrapper.open {
  display: block;
}

.collection__filter-toggleWrapper {
    border-bottom: 1px solid var(--dotted-color);
    margin-bottom: 20px;
    display:grid;
    grid-template-columns: 6fr 6fr;
    align-items: center;
    padding-bottom: 10px;
    position: relative;
    z-index: 6;
}

.sort__filter--triggers {
  text-align: right;
}

.collection__page-filter ul#collection--filters {
  width: 100%;
  text-align: left;
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 15px;
}

.collection__horizontal-toolbar .filter {
  border: 0;
  margin-bottom: 0;
  list-style: none;
  width: 100%;
  position: relative;
}

.collection__filtering svg,
.filter--price-range svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  right: 13px;
  pointer-events: none;
}
.collection__filtering svg path,
.filter--price-range svg path {
  fill: var(--text-color);
}
.collection__filtering.open svg path,
.collection__filtering:hover svg path,
.filter--price-range.active svg path,
.filter--price-range:hover svg path {
  fill: var(--background);
}

.sort-by__wrapper .collection__filtering.js-hz-filter {
  width: 220px;
}
.sort-by__wrapper li {
  padding: 5px 20px;
}
.collection__horizontal-toolbar.sort-by__wrapper {
  position: relative;
  float: right;
  margin-left: 1.04166667%;
}

@media screen and (max-width: 740px) {
  .collection__horizontal-toolbar.sort-by__wrapper,
  .sort-by__wrapper .collection__filtering.js-hz-filter {
    width: 100%;
  }
}

button.filter-toggle__trigger {
  width: unset;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  justify-content: center;
}

button.filter-toggle__trigger.dropdown--toggle.open .filter-toggle__status--icon {
  transform: scaleY(-1);
}

button.filter-toggle__trigger.sidebar--toggle.open .filter-toggle__status--icon {
  transform: scaleX(-1);
}

button.filter-toggle__trigger svg {
  margin-left: 5px;
  transition: .3s ease;
}

@media screen and (max-width: 740px) {
  .collection__filter-toggleWrapper {
    grid-template-columns: 1fr;
  }
  .filtering__pagination {
      display: none;
  }
  .sort__filter--triggers {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-gap: 15px;
  }
  .sort__filter--triggers.full--width {
    grid-template-columns: 1fr;
  }
  .collection__page-filter ul#collection--filters {
    grid-template-columns: repeat(2, 1fr);
  }
}

select.styled-select {
  display: inline-block;
  width: 100%;
  min-width: 160px;
  vertical-align: middle;
  border: 1px solid var(--dotted-color);
  margin-bottom: 10px;
  background: var(--select-arrow-bg) right no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none;
}

@media screen and (max-width: 980px) {
  ul#collection--filters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
    margin-bottom: 10px;
  }
  .collection__page-filter {
    margin-top: 0;
   }
  ul#collection--filters li select.styled-select {
    width: 100%;
    margin-left: 0;
    min-width: 100%;
  }
  .collection__page-filter .filter {
    width: 100%;
    float: left;
    display: inline-block;
    margin: 0;
  }
}

/* ---- Price filters ---- */

label.filter-range__field__label {
  display: inline-block;
}

.filter-range__field {
  display: inline-block;
}

/* Price Range Slider  */
.filter-range__slider--input {
  position: absolute;
  left: 0;
  bottom: 0;
}

.filter-range__slider--wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 10px 0 20px 0;
}

.filter--price-range .filter-range__field__input {
  border: 1px solid var(--dotted-color);
  text-align: left;
  -moz-appearance: textfield;
  width: auto !important;
  min-width: 70px;
  margin: unset !important;
  float: unset !important;
}

.collection__page-sidebar .filter-range__field__input {
  width: 80% !important;
}

.filter-range__field__input::-webkit-outer-spin-button,
.filter-range__field__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.filter-range__field__input:invalid,
.filter-range__field__input:out-of-range {
  border: 2px solid var(--error-msg-dark);
}

.filter-range__slider--input {
  -webkit-appearance: none;
  width: 100%;
}

.filter-range__slider--input:focus {
  outline: none;
}

.filter-range__slider--input:focus::-webkit-slider-runnable-track {
  background: var(--text-color);
}

.filter-range__slider--input:focus::-ms-fill-lower {
  background: var(--text-color);
}

.filter-range__slider--input:focus::-ms-fill-upper {
  background: var(--text-color);
}

.filter-range__slider--input::-webkit-slider-runnable-track {
  width: 100%;
  height: 5px;
  cursor: pointer;
  animate: 0.2s;
  background: var(--text-color);
  border-radius: 1px;
  box-shadow: none;
  border: 0;
}

.filter-range__slider--input::-webkit-slider-thumb {
  z-index: 1;
  position: relative;
  box-shadow: 0px 0px 0px #000;
  border: 1px solid var(--text-color);
  height: 18px;
  width: 18px;
  border-radius: 25px;
  background: var(--background);
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -7px;
}

.filter-range__slider--input::-moz-range-track {
  width: 100%;
  height: 5px;
  cursor: pointer;
  animate: 0.2s;
  background: var(--text-color);
  border-radius: 1px;
  box-shadow: none;
  border: 0;
}

.filter-range__slider--input::-moz-range-thumb {
  z-index: 2;
  position: relative;
  box-shadow: 0px 0px 0px #000;
  border: 1px solid var(--text-color);
  height: 18px;
  width: 18px;
  border-radius: 25px;
  background: var(--background);
  cursor: pointer;
}

.filter-range__slider--input::-ms-track {
  width: 100%;
  height: 5px;
  cursor: pointer;
  animate: 0.2s;
  background: transparent;
  border-color: transparent;
  color: transparent;
}

.filter-range__slider--input::-ms-fill-lower,
.filter-range__slider--input::-ms-fill-upper {
  border-radius: 1px;
  box-shadow: none;
  border: 0;
}

.filter-range__slider--input::-ms-fill-upper {
  background: var(--text-color);
}

.filter-range__slider--input::-ms-fill-lower {
  background: #eee;
}

.filter-range__slider--input::-ms-thumb {
  z-index: 2;
  position: relative;
  box-shadow: 0px 0px 0px #000;
  border: 1px solid var(--text-color);
  height: 18px;
  width: 18px;
  border-radius: 25px;
  background: var(--background);
  cursor: pointer;
}

@-moz-document url-prefix() {
  .filter-range__slider--input {
    position: relative;
  }
  .filter-range__slider--input,
  .filter-range__field {
    display: inline-block;
    width: 47%;
  }
  .filter-range__field__input {
    width: 80% !important;
  }
  .filter-range__field__currency {
    display: inline-block;
    width: 10%;
  }
}

/* Toggled sidebar visibility */
.collection__page-sidebar {
  display: none;
}

.collection__page-sidebar.open {
  display: block;
}

/*---- Collection submenus ----*/

.collection--list_submenus {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px !important;
  flex-wrap: nowrap;
  padding: 0 0 10px !important;
  margin-bottom: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}

.collection--list_submenus::-webkit-scrollbar {
  height: 5px;
  width: 5px;
  background: #eee;
}

.collection--list_submenus::-webkit-scrollbar-thumb:horizontal{
  background: var(--text-color);
  border-radius: 0px;
}

.collection--list_submenus:after {
  display: none !important;
}

.collection--list_submenus .collection__list-item {
  flex: 0 0 calc((100% / 5) - 8px);
  scroll-snap-align: start;
}

@media screen and (min-width: 741px) and (max-width: 1024px) {
  .collection--list_submenus .collection__list-item {
    flex: 0 0 calc(100% / 4);
  }
}

@media screen and (max-width: 740px) {
  .collection--list_submenus .collection__list-item {
    flex: 0 0 calc(100% / 3);
  }
}
