.carousel .slide-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1.5rem;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.4) 50%,
    transparent 100%
  );
  box-sizing: border-box;
}

.slide-caption {
  margin: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.caption-source {
  font-size: 0.875rem;      /* smaller source label */
  font-weight: 500;
  opacity: 0.8;
  margin-bottom: 0.25rem;
}

.caption-text {
  font-size: 1.75rem;       /* large headline text */
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 0 2px 4px rgba(0,0,0,0.6);
}

/* Responsive down-scale on narrower viewports */
@media (max-width: 768px) {
  .caption-text {
    font-size: 1.25rem;
  }
  .slide-overlay {
    padding: 1rem;

  }
}

/* Lift overlay up on desktop */
@media (min-width: 1024px) {
  .slide-overlay {
    /* move it up by 20px: */
    bottom: 65px;
  }
  /* or, if you prefer transform: */
  .slide-overlay {
    bottom: 0; /* keep original */
    transform: translateY(-20px);
  }
}
.slide-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  /* gradient from semi-opaque black up to transparent */
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.7) 0%,
    rgba(0, 0, 0, 0.4) 30%,
    rgba(0, 0, 0, 0)   100%
  );
  padding: 1rem;
}

/* example caption styling */
.slide-caption {
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.2;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
  margin: 0;
}
/* Replace your existing .slide-overlay rules with: */
.slide-overlay {
  position: absolute;
  left: 0;
  top: 60%;                     /* start overlay at 60% down from top */
  width: 100%;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.7) 0%,
    rgba(0, 0, 0, 0.3) 50%,
    transparent 100%
  );
  padding: 1rem;
}

/* Lift it further up on desktop */
@media (min-width: 768px) {
  .slide-overlay {
    top: 55%;       
	bottom: 55%;	
    padding: 1.5rem;
  }
}
.slide-overlay .slide-caption {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;    /* limit to 2 lines */
  overflow: hidden;
  text-overflow: ellipsis;   /* show "…" when clipped */
  white-space: normal;       /* allow wrapping */
  line-height: 1.2;          /* adjust to match your design */
}
