
    /* --- Footer Styling --- */
    .site-footer {
        background-color: #0b223d;
        /* Dark Blue/Navy for a rich look */
        color: #f0f8ff;
        /* Off-White/Alice Blue for text */
        padding: 40px 20px;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        /* More modern font */
        z-index: 20000;
    }

    .footer-container {
        max-width: 1200px;
        /* Constrain max width for better readability on large screens */
        margin: 0 auto;
        /* Center the container */
        display: flex;
        justify-content: space-between;
        gap: 40px;
        /* Increased space between columns */
    }

    /* General Footer Heading Style */
    .site-footer h3,
    .site-footer h4 {
        color: #4CAF50;
        /* Vibrant green */
        margin-bottom: 20px;
        /* Increased margin for better separation */
        font-weight: 700;
        /* Stronger heading */
        font-size: 1em;
        text-transform: uppercase;
        /* Added for visual structure */
        letter-spacing: 1px;
    }

    /* About/Copyright Section */
    .footer-about {
        text-align: center;
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid rgba(240, 248, 255, 0.1);
        /* Subtle separator line */
    }

    /* Individual Section Styles */
    .footer-location,
    .footer-contact,
    .footer-social {
        flex: 1;
        /* Each section takes equal width initially */
        min-width: 250px;
        /* Minimum width before wrapping is slightly larger */
    }
    
    /* --- Location/Map Styling (Improved Responsiveness) --- */
    .map-container {
        position: relative;
        padding-bottom: 56.25%;
        /* 16:9 Aspect Ratio (9/16 * 100) */
        height: 0;
        overflow: hidden;
        border-radius: 8px; /* Rounded corners for the map */
    }

    .map-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }

    /* Contact Details Styling */
    .footer-contact a {
        color: #f0f8ff;
        text-decoration: none;
        transition: color 0.3s;
        line-height: 2;
        /* Increased line height for readability */
    }

    .footer-contact a:hover {
        color: #4CAF50;
    }

    .footer-contact p {
        margin-bottom: 10px;
        line-height: 1.5;
        font-size: 1.1em;
    }

    .footer-contact i {
        color: #c31c1cff;
        margin-right: 10px;
        font-size: 1.2em;
    }
    
    /* Social Icons Styling */
    .social-icons {
        display: flex;
        justify-content: flex-start;
        /* Align left on desktop */
        margin-top: 10px;
    }

    .social-icons a {
        color: #f0f8ff;
        font-size: 1.8em;
        /* Slightly larger icons */
        margin-right: 20px;
        transition: color 0.3s, transform 0.2s;
        /* Added transform for subtle hover effect */
    }

    .social-icons a:hover {
        color: #4CAF50;
        transform: translateY(-3px);
    }
    
    .copyright {
        margin-top: 10px;
        font-size: 0.95em;
        opacity: 0.8;
    }
    
    /* Removed .center class as it's not needed with the new mobile CSS */

    /* Responsive adjustments for smaller screens */
    @media (max-width: 992px) {
        .footer-container {
            gap: 20px; /* Reduced gap for slightly smaller tablets */
        }
        
        .footer-location,
        .footer-contact,
        .footer-social {
            min-width: unset;
        }
    }
    
    @media (max-width: 768px) {
        .footer-container {
            flex-direction: column;
            align-items: center;
            gap: 40px; /* Restore separation between stacked columns */
        }
        
        .site-footer h4 {
            text-align: center;
        }
        
        /* Center content on mobile */
        .footer-contact p {
            text-align: center;
        }

        .footer-contact a {
            /* The mail link */
            display: inline-block;
            text-align: center;
            /* Needed for centering block elements like p */
        }
        
        /* Center the contact icons and text */
        .footer-contact p {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Center the social icons on mobile */
        .social-icons {
            justify-content: center;
            margin-bottom: 15px; /* Add space below icons */
        }
        
        /* Map takes full width on small screens */
        .footer-location {
            width: 100%;
            max-width: 450px; /* Prevent it from getting too wide on slightly larger phones/portrait tablets */
        }

        .map-container {
             padding-bottom: 75%; /* 4:3 Aspect Ratio for a taller map on mobile (3/4 * 100) */
        }
    }
