body {
  overflow-x: hidden;
}

/* Společný řádek karuselu a pravých bannerů */
.banners-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 20px !important;

  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;

  margin-top: 0 !important;
  margin-bottom: 20px !important;
  padding: 0 !important;

  visibility: visible !important;
  opacity: 1 !important;
}

/* Levý karusel – přibližně 2/3 */
.banners-row .wide-carousel {
  display: flex !important;
  flex: 2 1 0 !important;
  float: none !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Zrušení chybné výšky 786 px vytvořené Shoptetem */
.banners-row .wide-carousel .carousel,
.banners-row .wide-carousel .carousel-inner {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.banners-row .wide-carousel .carousel-inner .item,
.banners-row .wide-carousel .carousel-inner .carousel-item {
  height: 100% !important;
  min-height: 0 !important;
}

.banners-row .wide-carousel .carousel-inner .item > a,
.banners-row .wide-carousel .carousel-inner .carousel-item > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.banners-row .wide-carousel img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Pravá část – přibližně 1/3 */
.banners-row .next-to-carousel-banners {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  gap: 20px !important;
  float: none !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Oba pravé bannery mají stejnou výšku */
.banners-row .next-to-carousel-banners .banner-wrapper {
  display: flex !important;
  flex: 1 1 0 !important;
  float: none !important;

  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.banners-row .next-to-carousel-banners .banner-wrapper > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.banners-row .next-to-carousel-banners img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Malá mezera před konkurenčními výhodami */
.banners-row + .benefit-banners-full-width,
.banners-row + .full-width,
.benefit-banners-full-width {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.benefitBanner.position--benefitHomepage {
  margin-top: 20px !important;
}

/* Mobilní zobrazení */
@media (max-width: 900px) {
  .banners-row {
    flex-direction: column !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
  }

  .banners-row .wide-carousel,
  .banners-row .next-to-carousel-banners {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    height: auto !important;
  }

  .banners-row .wide-carousel .carousel,
  .banners-row .wide-carousel .carousel-inner,
  .banners-row .wide-carousel .carousel-inner .item,
  .banners-row .wide-carousel .carousel-inner .carousel-item,
  .banners-row .wide-carousel .carousel-inner .item > a,
  .banners-row .wide-carousel .carousel-inner .carousel-item > a,
  .banners-row .wide-carousel img {
    height: auto !important;
    min-height: 0 !important;
  }

  .banners-row .next-to-carousel-banners {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
  }

  .banners-row .next-to-carousel-banners .banner-wrapper,
  .banners-row .next-to-carousel-banners .banner-wrapper > a,
  .banners-row .next-to-carousel-banners img {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
  }
}