.hero-section {
    position: relative;
    height: 100vh;
    max-height: 800px;
    overflow: hidden;
}

.carousel, .carousel-inner, .carousel-item {
    height: 100%;
}

.carousel-item img {
    object-fit: cover;
    height: 100%;
    width: 100%;
  }

.carousel-caption {
    background: rgba(0, 77, 0, 0.7);
    opacity: 0.9;
    padding: 2rem;
    border-radius: 10px;
    max-width: 800px;
    margin: 0 auto;
    bottom: 20%;
    transform: translateY(50%);
    color: #e8f5e9;
}

.carousel-indicators {
    margin-bottom: 2rem;
}

.carousel-control-prev,
.carousel-control-next {
    width: 5%;
    opacity: 0.8;
    background: linear-gradient(to right, rgba(0, 100, 0, 0.3), transparent);
}

.carousel-control-next {
    background: linear-gradient(to left, rgba(0, 100, 0, 0.3), transparent);
}

.btn-primary {
    background-color: #2e7d32;
    border-color: #1b5e20;
}

.btn-primary:hover {
    background-color: #1b5e20;
    border-color: #0a3d0a;
}

.bg-light {
    background-color: #e8f5e9 !important;
}

.bg-dark {
    background-color: #1b5e20 !important;
}

@media (max-width: 768px) {
    .hero-section {
        height: 60vh;
    }
    
    .carousel-caption {
        padding: 1rem;
    }
    
    .carousel-caption h1 {
        font-size: 2rem;
    }
    
    .carousel-caption p {
        font-size: 1rem;
    }
    
    .carousel-caption .btn {
        font-size: 0.9rem;
        padding: 0.5rem 1rem;
    }
}