.main-collection-container {
  display: block;
  background-color: rgb(var(--color-background));
}

.main-collection {
  padding-block: 40px;
}

.main-collection__no-products-tips {
  color: rgb(var(--color-text));
}

.main-collection__list {
  margin-block-end: 40px;
  overflow: visible;
}

@media (max-width: 959px) {
  .main-collection__list {
    margin-block-end: 20px;
  }
}

@media (max-width: 959px) {
  .main-collection {
    padding-block: 0 20px;
  }
}

@media (min-width: 960px) {
  .main-collection {
    display: grid;
  }

  .main-collection .main-collection__products {
    grid-area: list;
  }

  .main-collection .facets-filtering {
    grid-area: filtering;
  }

  .main-collection .facets-sorting-wrapper {
    grid-area: sorting;
  }

  .main-collection.facets-layout-horizontal {
    grid-template:
      "filtering sorting"
      "list list"
      / 1fr auto;
    row-gap: 8px;
  }

  .main-collection.facets-layout-vertical {
    grid-template:
      "sorting sorting"
      "list list"
      / 256px auto;
  }

  .main-collection.facets-layout-vertical.enable-filtering {
    grid-template:
      "filtering sorting" auto
      "filtering list" 1fr
      / 256px auto;
    column-gap: 22px;
  }

  .main-collection.facets-layout-drawer {
    grid-template:
      "filtering sorting"
      "list list"
      / 1fr auto;
    row-gap: 8px;
  }

  /* Match the filter app's final desktop layout before its scripts mount.
     The native filter remains usable in the same sidebar if the app is unavailable. */
  body .main-collection-container--sidebar {
    --collection-sidebar-width: 300px;

    display: grid;
    grid-template: "filter-plugin content" / var(--collection-sidebar-width) minmax(0, 1fr);
    max-width: calc(var(--page-padding) * 2 + var(--page-width));
    margin-inline: auto;
  }

  body .main-collection-container--sidebar > .main-collection.facets-layout-vertical.enable-filtering {
    grid-area: content;
    grid-template:
      "filtering count sorting" 40px
      "filtering list list"
      / 0 auto auto;
    width: auto;
    min-width: 0;
    max-width: none;
    margin-inline: 0;
  }

  /* Native filters occupy the reserved sidebar without adding a second grid column.
     The app hides/replaces them when its own sidebar becomes available. */
  .main-collection-container--sidebar .facets-filtering {
    margin-inline-start: calc(10px - var(--collection-sidebar-width));
    width: calc(var(--collection-sidebar-width) - 40px);
  }
}
