/*
 * Image with Text Overlay Module
 * ========================================================================
 * Styles for full-width image sections with overlaid text content.
 * Includes responsive behavior and overlay effects for better readability.
 */

/* ==========================================================================
   Base Image with Text Overlay Styles
   ========================================================================== */
.img-text-overlay-section {
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
  min-height: 100vh;
  padding: 6.25rem 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--bs-white);
  .btn {
    color: var(--bs-white);
  }
}

.img-text-overlay-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    39.98deg,
    var(--bs-black) 18.46%,
    rgba(var(--bs-primary-900-rgb), 0.1) 61.55%
  );
}
@media (max-width: 61.99875rem) {
  .img-text-overlay-section {
    padding: 3.125rem 0;
  }
  .img-text-overlay-section::before {
    background: linear-gradient(
      33.51deg,
      var(--bs-black) 20.81%,
      rgba(var(--bs-primary-900-rgb), 0.1) 76.85%
    );
  }
}
.img-text-overlay-content {
  position: relative;
  z-index: 99;
}

.overlay-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.img-text-overlay-title {
  font-size: 4.0625rem;
  line-height: 4.6875rem;
  font-weight: 200;

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: 4.0625rem;
    line-height: 4.6875rem;
    font-weight: 200;
  }
  p {
    margin-bottom: 0;
  }
  strong {
    font-weight: 700;
  }
  span {
    color: var(--bs-secondary);
  }
  .font-serif {
    font-weight: 300;
    font-size: 5.625rem;
    line-height: 6.5625rem;
    letter-spacing: 0%;
  }
}

.img-text-overlay-description {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2.125rem;
  letter-spacing: 0%;
  .number-list {
    li {
      &::before {
        background-color: var(--bs-primary);
        color: var(--bs-white);
      }
    }
  }
}

@media (max-width: 61.99875rem) {
  .img-text-overlay-title {
    font-size: 2.125rem;
    line-height: 2.75rem;

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-size: 2.125rem;
      line-height: 2.75rem;
    }

    .font-serif {
      font-size: 2.875rem;
      line-height: 2.75rem;
    }
  }
  .img-text-overlay-description {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  .overlay-content {
    gap: 1.875rem;
  }
}
