@media (min-width: 1280px) {
  .main-collection #FiltersContainer {
    flex-basis: clamp(300px, 20vw, 390px);
  }
}

.main-collection #FiltersContainer .facets-form {
  padding-inline-end: 40px;
}

.main-collection :is(.facets-model-view, .facets-sorting) {
  margin-inline-start: auto;
}

.main-collection .facets-model-view ~ .facets-sorting {
  margin-inline-start: unset;
}

.lifestyle .product-card__model {
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 767px) {
  .facets-sorting {
    order: -1;
    width: 100%;
  }

  .facets-sorting .facets-sorting__summary {
    justify-content: space-between;
  }
}

.facets-sorting theme-modal~.facets-form {
  margin-inline-start: calc(var(--button-border-thickness) * -1);
}

.facets-sorting .facets-filtering__modal-summary {
  background-color: rgb(var(--color-button-background)/ 0.045);
}

.main-collection__list {
  overflow: visible;
}

.main-collection__products:has(.pagination) .main-collection__list {
  padding-block-end: 40px;
}

@media (min-width: 960px) {
  .main-collection__products:has(.pagination) .main-collection__list {
    padding-block-end: 56px;
  }
}

.main-search__count {
  padding-block: 40px;
}

/* promotion-card */
.promotion-card-item {
  grid-column: span var(--mobile-columns);
}

@media (min-width: 768px) {
  .promotion-card-item {
    grid-column: span min(var(--column-span), var(--columns));
    grid-row: span var(--row-span);
  }

  .promotion-card__content {
    position: absolute;
  }
}

/* search-box */
@media (min-width: 960px) {
  .search__header {
    width: 100%;
    max-width: 50rem;
    margin-inline: auto;
  }
}

.search__box .search-box__result {
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scroll-snap-type: y mandatory;
  scrollbar-width: thin;
  padding-block: 20px;
  padding-inline: 24px;
  width: 100%;
  max-height: calc(100vh - 100px);
}

@media (min-width: 960px) {
  .search__box .search-box__result {
    position: absolute;
    inset: unset;
    min-height: 200px;
    inset-block-start: 100%;
    inset-inline-start: 0;
    margin-block-start: calc(var(--modal-border-thickness) * -1);
    padding-block: 60px 40px;
    padding-inline: 100px;
    border-start-end-radius: 0;
    border-start-start-radius: 0;
  }
}