/* General Footer Styles */
*{
    font-family: 'Poppins', sans-serif;
}
.footer {
    background-color: #2e7d32; /* Dark green background */
    color: white; /* Text color */
    padding: 40px 20px; /* Padding around the footer */
    font-family: 'Poppins', sans-serif; /* Font style */
    position: relative; /* For pseudo-elements */
    overflow: hidden; /* Hides overflow from pseudo-elements */
}

/* Footer Background Overlay */
.footer::before {
    content: ''; /* Background design element */
    position: absolute; /* Absolute positioning */
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: rgba(0, 0, 0, 0.1); /* Transparent overlay */
    z-index: 0; /* Behind content */
}

/* Container for Footer Content */
.footer__container {
    display: flex; /* Flex layout */
    justify-content: space-between; /* Space between columns */
    flex-wrap: wrap; /* Wrap columns */
    max-width: 1200px; /* Container width */
    margin: auto; /* Center the container */
    position: relative; /* Position for child elements */
    z-index: 1; /* Above overlay */
}

.footer__col {
    flex: 1; /* Equal column size */
    min-width: 250px; /* Minimum column width */
    margin: 10px; /* Space around columns */
    box-sizing: border-box; /* Include padding in width */
}

/* Header Styling in Footer */
.footer__col h3, .footer__col h4 {
    margin-bottom: 15px; /* Space below header */
    font-weight: 700; /* Bold font */
    font-size: 1.6em; /* Large size */
    text-transform: uppercase; /* Uppercase text */
    letter-spacing: 1px; /* Space between letters */
    position: relative; /* For hover effects */
}

.footer__col h3::after, .footer__col h4::after {
    content: ''; /* Underline effect */
    display: block; /* Block element */
    width: 50%; /* Initial underline width */
    height: 2px; /* Underline thickness */
    background: #fff; /* Underline color */
    margin-top: 5px; /* Space above underline */
    transition: width 0.3s ease; /* Animation */
}

.footer__col h3:hover::after, .footer__col h4:hover::after {
    width: 100%; /* Full width on hover */
}

/* Paragraph and Link Styling */
.footer__col p {
    margin-bottom: 10px; /* Space below paragraphs */
    line-height: 1.6; /* Readable line spacing */
    transition: color 0.3s ease; /* Hover transition */
}

.footer__col p:hover {
    color: #ffeb3b; /* Highlight color on hover */
    cursor: pointer; /* Pointer cursor on hover */
}

.footer a {
    text-decoration: none; /* No underline */
    transition: color 0.3s ease; /* Smooth color change */
}

.footer a:hover {
    text-decoration: underline; /* Underline on hover */
}

/* Footer Bottom Section */
.footer__bottom {
    display: flex; /* Flex layout */
    justify-content: space-between; /* Space out sections */
    align-items: center; /* Center vertically */
    margin-top: 20px; /* Space above section */
    border-top: 1px solid #ddd; /* Top border */
    padding-top: 10px; /* Padding above content */
    font-size: 14px; /* Smaller text */
    flex-wrap: wrap; /* Wrap on smaller screens */
}

.footer__bottom-left,
.footer__bottom-center,
.footer__bottom-right {
    flex: 1; /* Equal section sizes */
    text-align: center; /* Center text */
    font-family: 'Poppins', sans-serif; /* Font style */

}

/* Developer Section */
.footer__developer {
    text-align: center; /* Center text */
    margin-top: 20px; /* Space above */
    font-size: 1.2rem; /* Moderate text size */
    color: #fff; /* Text color */
}

.footer__developer p {
    margin: 0;
}

.footer__developer a {
    font-weight: bold; /* Bold link */
    color: #4CAF50; /* Green link color */
    text-decoration: none; /* No underline */
    transition: color 0.3s ease; /* Smooth color change */
}

.footer__developer a:hover {
    color: #2e7d32; /* Darker green on hover */
}

.footer a.contact {
    color: #fff !important; /* Specific link color for contact */
    text-decoration: none; /* Remove underline */
    font-weight: bold; /* Emphasize text */
    transition: color 0.3s ease; /* Smooth hover transition */
}

.footer a.contact:hover {
    color: #ffeb3b !important; /* Darker blue shade on hover */
    text-decoration: underline; /* Underline on hover */
}



/* Responsive Design */
@media (max-width: 768px) {
    .footer__container {
        flex-direction: column; /* Stack columns */
        align-items: flex-start; /* Align items to start */
    }

    .footer {
        padding: 20px; /* Reduced padding */
        text-align: center; /* Center text */
    }

    .footer__bottom {
        flex-direction: column; /* Stack bottom sections */
        text-align: center; /* Center text */
    }

    .footer__bottom-left, .footer__bottom-center, .footer__bottom-right {
        margin: 5px 0; /* Space between sections */
    }
}

@media (max-width: 480px) {
    .footer {
        padding: 15px; /* Further reduced padding */
    }

    .footer__col h3, .footer__col h4 {
        font-size: 1.4em; /* Smaller headers */
    }

    .footer__col p {
        font-size: 0.9em; /* Smaller text size */
    }
}
