/* Homepage Hero Carousel */
.homepage-hero .carousel {
    max-height: 650px;
    overflow: hidden;
  }
  
  .homepage-hero .carousel-item,
  .homepage-hero .slide-bg {
    height: 650px;
    position: relative;
  }
  
  /* Slide background image styling */
  .slide-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; /* Default; can be overridden inline */
    position: relative;
  }
  
  /* Tint overlay */
  .slide-tint {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  /* Slide text overlay */
  .slide-text {
    position: absolute;
    width: 100%;
    padding: 20px;
    /* Default center positioning */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
  }
  
  /* Positioning classes for slide text */
  .position-top-left {
    top: 20px;
    left: 20px;
    transform: none;
    text-align: left;
  }
  
  .position-top-center {
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
  }
  
  .position-top-right {
    top: 20px;
    right: 20px;
    transform: none;
    text-align: right;
  }
  
  .position-center-left {
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    text-align: left;
  }
  
  .position-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
  }
  
  .position-center-right {
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    text-align: right;
  }
  
  .position-bottom-left {
    bottom: 20px;
    left: 20px;
    transform: none;
    text-align: left;
  }
  
  .position-bottom-center {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
  }
  
  .position-bottom-right {
    bottom: 20px;
    right: 20px;
    transform: none;
    text-align: right;
  }
  