.mod-carousel-bootstrap {
  margin-bottom: 4rem;
}

.mod-carousel-bootstrap .carousel-item {
  height: var(--mod-carousel-height, 32rem);
  min-height: 18rem;
  background: var(--bs-secondary-bg, #6c757d);
}

.mod-carousel-bootstrap__image,
.mod-carousel-bootstrap__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.mod-carousel-bootstrap__image {
  object-fit: cover;
}

.mod-carousel-bootstrap__placeholder {
  background: var(--bs-secondary-color, #6c757d);
}

.mod-carousel-bootstrap__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.22), rgba(0,0,0,.55));
  pointer-events: none;
}

.mod-carousel-bootstrap .carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

.mod-carousel-bootstrap .carousel-caption h2 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 600;
}

.mod-carousel-bootstrap .carousel-caption p {
  font-size: clamp(1rem, 2vw, 1.25rem);
}

@media (max-width: 767.98px) {
  .mod-carousel-bootstrap {
    margin-bottom: 2rem;
  }

  .mod-carousel-bootstrap .carousel-item {
    min-height: 24rem;
  }

  .mod-carousel-bootstrap .carousel-caption {
    right: 10%;
    left: 10%;
    bottom: 2rem;
  }
}
