.m-banner-grid {
  display: block;
  padding: 8px 0;
}

.m-banner-grid__track {
  --banner-gap: 16px;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: var(--banner-gap);
  align-items: start;
}

.m-banner-grid__item {
  min-width: 0;
  aspect-ratio: var(--slideshow-image-ratio, 3 / 1);
  overflow: hidden;
  border-radius: 8px;
}

.m-banner-grid__item:first-child {
  grid-row: span 2;
}

.m-banner-grid__item:nth-child(n + 4) {
  display: none;
}

.m-banner-grid__item:only-child {
  grid-column: 1 / -1;
}

.m-banner-grid__link,
.m-banner-grid picture,
.m-banner-grid img,
.m-banner-grid__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.m-banner-grid img {
  object-fit: cover;
}

.m-banner-grid__dots {
  display: none;
}

.m-banner-grid .m-banner-grid__dot:is(:focus, :focus-visible, :active) {
  outline: none;
  box-shadow: none;
}

@media (min-width: 1024px) {
  .m-banner-grid__track {
    grid-template-columns: minmax(0, calc(100% * 2 / 3)) minmax(0, 1fr);
  }
}

  .m-banner-grid:is([data-desktop-images="1"], [data-carousel="true"]) .m-banner-grid__track {
    display: flex;
    direction: ltr;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .m-banner-grid:is([data-desktop-images="1"], [data-carousel="true"]) .m-banner-grid__track::-webkit-scrollbar {
    display: none;
  }

  .m-banner-grid:is([data-desktop-images="1"], [data-carousel="true"]) .m-banner-grid__item,
  .m-banner-grid:is([data-desktop-images="1"], [data-carousel="true"]) .m-banner-grid__item:nth-child(n + 4) {
    display: block;
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .m-banner-grid:is([data-desktop-images="1"], [data-carousel="true"]) .m-banner-grid__dots {
    display: flex;
    justify-content: center;
    margin-top: 4px;
    gap: 0;
  }



.m-banner-grid:is([data-desktop-images="1"], [data-carousel="true"]) .m-banner-grid__pause { border: 0; background: transparent; color: #061b37; min-width: 32px; min-height: 24px; cursor: pointer; }
  .m-banner-grid:is([data-desktop-images="1"], [data-carousel="true"]) .m-banner-grid__pause[hidden] { display: none; }
