body {
    margin: 0;
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-footer {
    background-color: green;
    color: #fff;
    padding: 40px 20px;
    display: grid; /* Make the footer a grid container */
    grid-template-columns: repeat(4, 1fr); /* 4 equal columns */
    gap: 20px; /* Space between grid items */
    margin-top: auto;
}

.footer-part {
    /* No need for flex: 1 or min-width here as grid handles sizing */
    padding: 0 10px;
}

.footer-part h3 {
    color: #00bcd4;
    margin-bottom: 15px;
}

.footer-part ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-part ul li {
    margin-bottom: 8px;
}

.footer-part ul li a {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-part ul li a:hover {
    color: #fff;
}

.footer-part p {
    line-height: 1.6;
    color: #ccc;
}

.social-icons a {
    display: inline-block;
    margin-right: 10px;
}

.social-icons img {
    width: 24px;
    height: 24px;
    vertical-align: middle;
}

/* Responsive adjustments for Grid */
@media (max-width: 992px) {
    .site-footer {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on larger tablets */
    }
}

@media (max-width: 576px) {
    .site-footer {
        grid-template-columns: 1fr; /* 1 column on mobile */
        text-align: center;
    }
    .social-icons {
        text-align: center;
    }
}