/* Ensure the body and html take full height */
html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

/* Main content should expand to push the footer down */
.main-content {
    flex: 1;
}

/* Header */
#header {
    background-color: #7EAD6E;
}

.logo {
    width: 150px;
    height: auto;
}

/* Hover effect for interactive elements */
.hover-shadow {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-shadow:hover {
    transform: translateY(-10px);
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
}

/* Button Styling */
.btn {
    background-color: green;
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    text-align: center;
}

.btn:hover {
    background-color: darkgreen;
}

/* Background Image for sections */
.borderImg {
    background: url('fruits&vegezBorder.png') no-repeat center center; 
    background-size: cover; 
    width: 100%; 
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* =============================== */
/*       PRODUCT CARD STYLING      */
/* =============================== */

/* Product Cards Container */
.products-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px; /* Ensures cards don’t touch each other */
    padding: 20px; /* Adds breathing space */
}

/* Product Card */
.avProducts {
    width: 100%;
    max-width: 250px;
    display: flex;
    flex-direction: column;
    min-height: 420px; /* Adjusted for better spacing */
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    background: #fff;
    padding-bottom: 10px; /* Prevents overlapping */
    margin-bottom:10px;
}

/* Image in the Card */
.avProducts .card-img-top {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

/* Card Body */
.avProducts .card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 10px;
    text-align: center;
    justify-content: space-between;
}

/* Paragraph Handling - Adjusts Dynamically */
.avProducts .card-body p {
    flex-grow: 1;
    overflow-wrap: break-word;
    min-height: 3em;
    max-height: 6em;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Button Always at the Bottom */
.avProducts .card-body .btn {
    width: 100%;
    padding: 10px 0;
    margin-top: auto; /* Keeps it fixed at the bottom */
}

/* =============================== */
/*          RESPONSIVENESS         */
/* =============================== */

@media (max-width: 768px) {
    .products-container {
        gap: 15px; /* Adjusts spacing for smaller screens */
    }

    .avProducts {
        max-width: 220px;
        min-height: 390px;
    }

    .avProducts .card-img-top {
        height: 150px;
    }
}

@media (max-width: 480px) {
    .products-container {
        gap: 10px;
    }

    .avProducts {
        max-width: 180px;
        min-height: 360px;
    }

    .avProducts .card-img-top {
        height: 130px;
    }
}

/* =============================== */
/*           FOOTER STYLING        */
/* =============================== */

#footer {
    background-color: #7EAD6E;
    color: #000;
    padding: 10px 0;
    text-align: center;
}
