full-page-launches {
  display: block;
  position: relative;
  background-color: var(--slideshow-background);
  isolation: isolate;

  .full-page-launch-content,
  .full-page-launches-content,
  .full-page-launches-subheading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: fit-content;
    z-index: 1;
    margin: auto;
    color: var(--theme-color-white);
    gap: 14px;
    text-transform: none;
    z-index: 2;
  }

  .full-page-launches-content,
  .full-page-launch-content {
    padding-inline: 10vw;

    &:has(.full-page-launch-logo) {
      gap: 48px;
    }
  }

  .full-page-launches-subheading {
    position: absolute;
    top: 32px;
    left: 28px;
    max-width: 50vw;
    font-size: 0.8rem;
    line-height: 1.1em;
    letter-spacing: 0.03em;
  }

  .full-page-launches-content-wrapper[data-image-size='single-left'] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    .full-page-launches-content {
      position: relative;
      z-index: 2;
    }
  }

  .full-page-launches-content-wrapper {
    display: flex;
    width: 100%;
    gap: 4px;

    &[data-remove-inner-spacing='true'] {
      gap: 0;
    }

    &[data-size='1']:not([data-image-size='single-left']) {
      .single-left {
        display: grid;
        background: var(--theme-color-grey-4);
        grid-template-columns: repeat(2, minmax(0, 1fr));

        .full-page-launch-content {
          order: 1;
          color: var(--theme-color-white);
        }
      }
    }

    &[data-size='3'] {
      gap: 4px;
      padding-block: 4px;

      .full-page-launch-image {
        height: 100%;
      }
    }

    > .full-page-launches-content {
      position: absolute;
      inset: 0;
      z-index: 1;
    }
  }

  &:not(.single-left),
  .single-left[data-size='2'],
  .single-left[data-size='3'] {
    .full-page-launch-content {
      position: absolute;
      inset: 0;
      padding-inline: 6vw;
    }
  }
}

full-page-launch {
  --_desktop-image-ratio: 4 / 5;

  position: relative;
  isolation: isolate;
  flex: 1;
  order: -1;

  .full-page-launch-image {
    width: 100%;
    object-fit: cover;
    pointer-events: none;
    aspect-ratio: var(--_desktop-image-ratio);

    &.invert-aspect-ratio {
      --_desktop-image-ratio: 16 / 9;
    }

    @media screen and (max-width: 1000px) {
      aspect-ratio: 2 / 3;
    }

    &:after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(var(--overlay, 0.3));
      z-index: 1;
    }

    picture {
      width: 100%;
      height: 100%;
    }

    video-media,
    img {
      aspect-ratio: auto;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

@media screen and (max-width: 1000px) {
  full-page-launches {
    .full-page-launches-content-wrapper[data-image-size='single-left'] {
      grid-template-columns: repeat(1, minmax(0, 1fr));
      grid-template-rows: 1fr 1fr;
      align-content: center;
    }

    .full-page-launches-content-wrapper {
      &[data-image-size='block-images'] {
        &[data-position='center'] {
          flex-wrap: wrap;
          flex-direction: row;

          &[data-size='3'] {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            grid-template-rows: auto auto;

            full-page-launch {
              &:nth-of-type(1) {
                grid-column: 1 / -1;
              }

              &:nth-of-type(n + 2) {
                .full-page-launch-image {
                  height: 100%;
                }
              }
            }
          }
        }

        full-page-launch {
          flex: 1 0 100%;
        }
      }

      &[data-position='center-banner'] {
        full-page-launch:nth-of-type(n + 2) {
          display: none;
        }
      }
    }
  }
}
