body {
  background-color: #f9fafb;
  background-image: linear-gradient(
      135deg,
      rgba(32, 147, 80, 0.03) 25%,
      transparent 25%
    ),
    linear-gradient(225deg, rgba(32, 147, 80, 0.03) 25%, transparent 25%),
    linear-gradient(45deg, rgba(32, 147, 80, 0.03) 25%, transparent 25%),
    linear-gradient(315deg, rgba(32, 147, 80, 0.03) 25%, #f9fafb 25%);
  background-repeat: repeat;
  background-attachment: fixed;
  background-size: 120px 120px;
}

.carousel-item {
  background-size: cover;
  background-position: center;
  height: 80vh;
}

.carousel-item {
  height: 90vh;
  background-size: cover;
  background-position: center;
  position: relative;
  transition: opacity 1s ease-in-out;
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.carousel-fade .carousel-item.active {
  opacity: 1;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom right,
    rgba(0, 0, 0, 0.55),
    rgba(0, 0, 0, 0.6)
  );
  z-index: 1;
}

.carousel-caption {
  z-index: 2;
  position: absolute;
  bottom: 20%;
  left: 10%;
  color: #ffffff;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);
}

.carousel-caption h2 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 15px;
  color: #fff;
}

.carousel-caption p {
  font-size: 1.5rem;
  font-weight: 400;
  color: #eee;
}

.btn-primary {
  background-color: #209350;
  border: none;
  padding: 12px 25px;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.btn-primary:hover {
  background-color: #2d2f72;
}

.slide-1 {
  background-image: url("images/bg/slide-1.jpg");
}

.slide-2 {
  background-image: url("images/bg/slide-2.jpg");
}

.slide-3 {
  background-image: url("images/bg/slide-3.jpg");
}

.slide-4 {
  background-image: url("images/bg/slide-4.jpg");
}

.slide-5 {
  background-image: url("images/bg/slide-5.jpg");
}

.faq .card {
  background: #f8f9fa;
  /* Light grey background for contrast */
  border: none;
  /* Remove default border */
  border-radius: 8px;
  /* Rounded corners */
  margin-bottom: 15px;
  /* Space between FAQ items */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  /* Soft shadow for depth */
}

.faq .card-header {
  background-color: #2d2f72;
  /* ZEIPF dark blue */
  border: none;
  /* Remove default border */
  border-radius: 8px 8px 0 0;
  /* Rounded top corners */
  padding: 15px 20px;
  /* Spacing inside the header */
}

.faq .btn-link {
  color: #fff;
  /* White text for header */
  text-decoration: none;
  /* Remove underline */
  font-size: 18px;
  /* Larger font for readability */
  font-weight: bold;
  /* Bold text */
  display: block;
  /* Block level for full width click */
  width: 100%;
  /* Make button full width */
  text-align: left;
  /* Align text to the left */
}

.faq .btn-link:hover {
  color: #209350;
  /* Hover color change to green */
}

.faq .card-body {
  background-color: #fff;
  /* White background for answers */
  color: #333;
  /* Dark grey text for readability */
  border-top: 1px solid #ddd;
  /* Light border between question and answer */
  padding: 20px;
  /* More padding inside answers */
  border-radius: 0 0 8px 8px;
  /* Rounded bottom corners */
}

.faq .card-body p {
  margin: 0;
  /* Remove default margins */
}

.faq .accordion .collapse.show {
  border-radius: 0 0 8px 8px;
  /* Keep rounded corners when expanded */
}

/* === Original CSS Preserved === */
/* ... [your entire CSS unchanged here] ... */

/* === Responsive Enhancements === */
@media (max-width: 768px) {
  .carousel-item {
    height: 60vh; /* Reduce height on small screens */
  }

  .carousel-caption {
    bottom: 10%;
    left: 5%;
    padding-right: 5%;
    text-align: left;
  }

  .carousel-caption h2 {
    font-size: 1.8rem; /* Adjust font size for mobile */
  }

  .carousel-caption p {
    font-size: 1rem;
  }

  .btn-primary {
    padding: 10px 20px;
    font-size: 0.9rem;
  }

  .faq .btn-link {
    font-size: 16px;
  }

  .faq .card-body {
    padding: 15px;
  }
}

@media (max-width: 576px) {
  .carousel-caption h2 {
    font-size: 1.5rem;
  }

  .carousel-caption p {
    font-size: 0.9rem;
  }

  .btn-primary {
    width: 100%; /* Full-width buttons on smallest screens */
    display: block;
    text-align: center;
  }
}
