/*
 * REPROOBCHOD — homepage carousel jako statický grid na desktopu.
 *
 * Desktop (Shoptet body.desktop): 4 bannery vedle sebe, max. 310 × 500 px.
 * Při zúžení desktopového okna se bannery proporcionálně zmenší.
 * Mobil/tablet bez body.desktop: bez zásahu, zůstává původní Shoptet carousel.
 */

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 0 30px !important;
  overflow: visible !important;
  background: transparent !important;
}

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel .content-wrapper-in,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel .container,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel .banners-row,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel .wide-carousel {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel {
  display: block !important;
  width: 100% !important;
  max-width: 1270px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 310px)) !important;
  gap: 10px !important;
  justify-content: center !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 1270px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  transform: none !important;
  -webkit-transform: none !important;
}

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item.active,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item.next,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item.prev,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item.left,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item.right {
  display: block !important;
  position: relative !important;
  float: none !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 310px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  -webkit-transform: none !important;
  transition: none !important;
}

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item > a {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 310px !important;
  height: auto !important;
  aspect-ratio: 31 / 50 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .11) !important;
  text-decoration: none !important;
  z-index: 1 !important;
  transform: translateZ(0) scale(1) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
  will-change: transform;
}

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 12px !important;
}

body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-control,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-indicators,
body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .extended-banner-texts {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item > a:hover,
  body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item > a:focus-visible {
    z-index: 2 !important;
    transform: translateZ(0) scale(1.025) !important;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .16) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.desktop.in-index.type-index .content-wrapper.homepage-box.before-carousel #carousel .carousel-inner > .item > a {
    transition: none !important;
  }
}
