/* Layout utility styles merged from grid-base, product-grid and group-block. */
/* grid base */

.grid-base {
  --centered-column-number: 12;
  --full-width-column-number: 14;
  --centered: column-1 / span var(--centered-column-number);
  --full-width: column-0 / span var(--full-width-column-number);

  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 750px) {
  .grid-base {
    display: grid;
    gap: 0;
    grid-template-columns:
      var(--margin-4xl) repeat(var(--centered-column-number), minmax(0, 1fr))
      var(--margin-4xl);
    grid-template-areas: "column-0 column-1 column-2 column-3 column-4 column-5 column-6 column-7 column-8 column-9 column-10 column-11 column-12 column-13";
  }
}

@media screen and (min-width: 1400px) {
  .grid-base {
    grid-template-columns:
      1fr repeat(
        var(--centered-column-number),
        minmax(
          0,
          calc(
            (var(--page-width) - var(--page-margin) * 2) /
              var(--centered-column-number)
          )
        )
      )
      1fr;
  }
}


/* product grid */
@media screen and (min-width: 750px) {
  .product-grid {
    grid-template-columns: var(--product-grid-columns-desktop);
  }
}


/* Base group-block */
.group-block,
.group-block-content {
  position: relative;
}

.group-block-content {
  height: 100%;
  width: 100%;
}

.group-block--content-overlay {
  position: relative;
  isolation: isolate;
  > .group-block__media-wrapper
    :is(.background-image-container, .video-background) {
    position: relative;
    aspect-ratio: var(--ratio, 1);
    display: block;
  }

  > .group-block-content {
    position: absolute;
    z-index: var(--layer-flat);
    top: 0;
    left: 0;
  }
}

.group-block--content-overlay.group-block--content-match-height:has(> .group-block-content > *) {
  flex: auto;
  
  > .group-block__media-wrapper {
    position: absolute;
    inset: 0;
  }

  > .group-block__media-wrapper
    :is(.background-image-container, .video-background) {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
  }

  > .group-block-content {
    position: relative;
    top: auto;
    left: auto;
  }

  .background-image-container img, .background-image-container svg {
    object-fit: cover;
  }
}

