.block-main-collection-banner {
  position: relative;
  margin-block-end: 30px;
}

@media (max-width: 959px) {
  .block-main-collection-banner {
    margin-block-end: 20px;
  }
}

.block-main-collection-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.block-main-collection-banner__media {
  position: relative;
  width: 100%;
  aspect-ratio: var(--collection-banner-ratio, 16 / 5);
  overflow: hidden;
}

.block-main-collection-banner__media > picture,
.block-main-collection-banner__media > img,
.block-main-collection-banner__media picture > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.block-main-collection-banner__inner {
  position: relative;
  min-height: 0;
  padding-block: 28px 0;
}

.block-main-collection-banner__inner > div {
  display: grid;
  gap: .75rem;
  width: 100%;
}

collection-description.block-main-collection-description {
  display: block;
  min-width: 0;
}

.block-main-collection-description.is-clamp-ready:not(.is-expanded)
  .block-main-collection__description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.block-main-collection__description-toggle {
  margin-block-start: 8px;
  color: inherit;
  cursor: pointer;
}

.block-main-collection__description-toggle[hidden] {
  display: none !important;
}

.block-main-collection__description-toggle [data-description-less] {
  display: none;
}

.block-main-collection-description.is-expanded
  .block-main-collection__description-toggle
  [data-description-more] {
  display: none;
}

.block-main-collection-description.is-expanded
  .block-main-collection__description-toggle
  [data-description-less] {
  display: inline;
}

.block-main-collection__description-toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

@media (max-width: 959px) {
  .block-main-collection-banner__media {
    aspect-ratio: var(--collection-banner-mobile-ratio, 4 / 3);
  }

  .block-main-collection-banner__inner {
    padding-block: 20px 0;
  }
}
