/* Catalogue public: give each product enough room to be evaluated at a glance. */
.storefront .storefront-heading {
  padding-block: 28px 26px;
}

.storefront .storefront-heading h1 {
  max-width: 760px;
  font-size: clamp(40px, 4.2vw, 60px);
  line-height: 1.04;
}

.storefront .storefront-heading > div > p:last-of-type {
  max-width: 580px;
  font-size: 16px;
  line-height: 1.5;
}

.storefront .storefront-layout .store-product-grid:not(.is-list):not(.is-compact) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px;
}

.storefront .store-product-grid:not(.is-list):not(.is-compact) .store-product-card {
  border: 1px solid #dedbd3;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(18, 60, 51, .07);
}

.storefront .store-product-grid:not(.is-list):not(.is-compact) .store-product-visual {
  height: clamp(235px, 24vw, 310px);
}

.storefront .store-product-grid:not(.is-list):not(.is-compact) .store-product-copy {
  padding: 20px 20px 0 !important;
}

.storefront .store-product-grid:not(.is-list):not(.is-compact) .store-product-copy h2 {
  font-size: clamp(23px, 2.2vw, 29px);
  line-height: 1.18;
}

.storefront .store-product-grid:not(.is-list):not(.is-compact) .store-product-copy > span {
  font-size: 14px;
  line-height: 1.5;
}

.storefront .store-product-grid:not(.is-list):not(.is-compact) .catalog-price-block strong {
  font-size: 25px;
  white-space: nowrap;
}

.storefront .store-product-grid:not(.is-list):not(.is-compact) .catalog-card-actions {
  margin-inline: -20px !important;
}

@media (min-width: 1600px) {
  .storefront .storefront-layout .store-product-grid:not(.is-list):not(.is-compact) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 761px) {
  .storefront .filter-trigger[aria-expanded="false"] {
    display: inline-flex;
    width: auto;
    margin: 14px var(--page) 0;
    padding: 10px 16px;
    border-radius: 7px;
    font-weight: 800;
  }

  .storefront .storefront-layout .filters:not(.is-open) {
    display: none !important;
  }

  .storefront .storefront-layout:has(.filters:not(.is-open)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .storefront .storefront-layout,
  .storefront .storefront-layout:has(.filters.is-open) {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) !important;
    gap: 20px;
    overflow: visible !important;
  }

  .storefront .storefront-layout .filters {
    width: auto;
    max-height: calc(100vh - 100px);
  }

  .storefront .storefront-layout:has(.filters:not(.is-open)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 761px) and (max-width: 950px) {
  .storefront .storefront-layout .store-product-grid:not(.is-list):not(.is-compact) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 760px) {
  .storefront .storefront-heading {
    padding-block: 30px 24px;
    gap: 14px;
  }

  .storefront .storefront-heading h1 {
    font-size: clamp(36px, 10vw, 48px);
  }

  .storefront .store-product-grid:not(.is-list):not(.is-compact) .store-product-visual {
    height: clamp(210px, 60vw, 280px);
  }

  .storefront .store-product-grid:not(.is-list):not(.is-compact) .store-product-copy {
    padding: 17px 17px 0 !important;
  }

  .storefront .store-product-grid:not(.is-list):not(.is-compact) .catalog-card-actions {
    margin-inline: -17px !important;
  }
}
