.type-index #carousel {
  position: relative !important;
}

.type-index #carousel .carousel-inner {
  position: relative !important;
}

.type-index #carousel .carousel-control {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: 60px !important;
  height: 100px !important;

  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  outline: none !important;

  z-index: 30 !important;
}

.type-index #carousel .carousel-control.left {
  left: 16px !important;
}

.type-index #carousel .carousel-control.right {
  right: 0 !important;
}

.type-index #carousel .carousel-control span,
.type-index #carousel .carousel-control i,
.type-index #carousel .carousel-control::before {
  display: none !important;
}

.type-index #carousel .carousel-control::after {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) scale(1) !important;

  width: 48px !important;
  height: 48px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(0,0,0,.22) !important;
  backdrop-filter: blur(4px) !important;

  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.16) !important;

  font-size: 28px !important;
  color: #fff !important;
  line-height: 1 !important;

  opacity: 1 !important;
  visibility: visible !important;

  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.type-index #carousel .carousel-control.left::after {
  content: "‹" !important;
}

.type-index #carousel .carousel-control.right::after {
  content: "›" !important;
  right: 16px !important;
  left: auto !important;
}

.type-index #carousel .carousel-control:hover,
.type-index #carousel .carousel-control:focus,
.type-index #carousel .carousel-control:active,
.type-index #carousel .carousel-control:visited {
  background: transparent !important;
  background-image: none !important;
  opacity: 1 !important;
  outline: none !important;
  box-shadow: none !important;
}

.type-index #carousel .carousel-control:focus::after,
.type-index #carousel .carousel-control:active::after,
.type-index #carousel .carousel-control:visited::after {
  transform: translateY(-50%) scale(1) !important;
  background: rgba(0,0,0,.22) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.16) !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (min-width: 768px) {
  .type-index #carousel .carousel-control:hover::after {
    transform: translateY(-50%) scale(1.12) !important;
    background: rgba(0,0,0,.34) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.20) !important;
  }
}

@media (max-width: 767px) {
  .type-index #carousel .carousel-control {
    width: 38px !important;
    height: 60px !important;
    top: 35% !important;
    transform: translateY(-50%) !important;
    z-index: 50 !important;
  }

  .type-index #carousel .carousel-control.left {
    left: 10px !important;
  }

  .type-index #carousel .carousel-control.right {
    right: 0 !important;
  }

  .type-index #carousel .carousel-control::after {
    width: 28px !important;
    height: 28px !important;
    font-size: 20px !important;
    background: rgba(0,0,0,.22) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.14) !important;
  }

  .type-index #carousel .carousel-control.right::after {
    right: 10px !important;
    left: auto !important;
  }

  .type-index #carousel .carousel-control:hover::after,
  .type-index #carousel .carousel-control:focus::after,
  .type-index #carousel .carousel-control:active::after {
    transform: translateY(-50%) scale(1) !important;
    background: rgba(0,0,0,.22) !important;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* ── Scroll-bottom button ── */

.type-index #carousel .scroll-bottom {
  position: absolute !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 40 !important;

  width: 48px !important;
  height: 48px !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.type-index #carousel .scroll-bottom img {
  display: none !important;
}

.type-index #carousel .scroll-bottom::before {
  display: none !important;
  content: none !important;
}

.type-index #carousel .scroll-bottom::after {
  content: "↓" !important;

  position: absolute !important;
  inset: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 48px !important;
  height: 48px !important;

  border-radius: 999px !important;

  background: rgba(0,0,0,.22) !important;
  backdrop-filter: blur(4px) !important;

  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;

  box-shadow: 0 4px 14px rgba(0,0,0,.16) !important;

  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

@media (min-width: 768px) {
  .type-index #carousel .scroll-bottom:hover::after {
    transform: scale(1.12) !important;
    background: rgba(0,0,0,.34) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.20) !important;
  }
}

@media (max-width: 767px) {
  .type-index #carousel .scroll-bottom {
    right: 10px !important;
    bottom: 10px !important;
    width: 32px !important;
    height: 32px !important;
  }

  .type-index #carousel .scroll-bottom::after {
    width: 32px !important;
    height: 32px !important;
    font-size: 18px !important;
  }
}

/* ── Desktop layout adjustments ── */

@media (min-width: 768px) {
  .type-index #carousel .carousel-control.left {
    left: 2.5% !important;
  }

  .type-index #carousel .carousel-control.right {
    right: 2.5% !important;
  }

  .type-index #carousel .carousel-control.left::after {
    left: 0 !important;
  }

  .type-index #carousel .carousel-control.right::after {
    right: 0 !important;
  }

  .type-index #carousel .scroll-bottom {
    right: 2.5% !important;
    bottom: 4.5% !important;
  }
}

/* ── Carousel indicators ── */

/* Aktivní tečka carouselu bílá */
.type-index #carousel .carousel-indicators li.active {
  background: #fff !important;
}
