/* ======================================================= */
/* ==================== FOOTER CSS ======================= */
/* ======================================================= */

/* --- Variables & Main Container --- */
:root {
    --color-indigo-600: #4f46e5;
    --color-indigo-200: #c7d2fe;
    --color-indigo-300: #a5b4fc;
    --color-white: #fff;
}

.site-footer {
    background-color: var(--color-indigo-600);
    color: var(--color-white);
    font-family: var(--font-sans); /* Assumes --font-sans is defined in Header.css */
}

.footer-container {
    /* width: 100 */
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem 1.5rem 1rem; /* pt-8 px-6 pb-4 */
}

/* --- Responsive Grid Layout --- */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr; /* 1 column on mobile */
    gap: 2rem; /* gap-8 */
}

/* Medium screens (tablets) */
@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }
    .footer-column {
        margin-left: auto;
        margin-right: auto;
    }
}

/* Large screens (desktops) */
@media (min-width: 1024px) {
    .footer-grid {
        grid-template-columns: repeat(4, 1fr); /* 4 columns */
    }
}

/* --- Column 1: Logo and Info --- */
.footer-logo {
    margin-bottom: 1rem;
}
.footer-logo img {
    width: 5rem;
    /*w-20*/height: 5rem;
    /*h-20*/border-radius: 100%;
    /*rounded-full*/object-fit: cover;
    background-color: white;
    padding: 0;
}

.footer-info-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem; /* space-y-1 equivalent */
}

.footer-section {
    font-size: 0.875rem; /* text-sm */
}
.footer-section h3 {
    font-weight: 600; /* font-semibold */
    color: var(--color-white);
    margin: 0 0 0.25rem 0;
}
.footer-section p {
    margin: 0;
    color: var(--color-indigo-200);
}
.footer-section a {
    color: var(--color-indigo-200);
    text-decoration: underline;
    transition: color 0.2s ease-in-out;
}
.footer-section a:hover {
    color: var(--color-white);
}

/* --- Columns 2, 3, 4: Link Lists --- */
.footer-links h3 {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600; /* font-semibold */
    letter-spacing: 0.05em; /* tracking-wider */
    margin: 0 0 1rem 0; /* mb-4 */
}

.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* space-y-3 */
}

.footer-links a {
    color: var(--color-indigo-200);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}
.footer-links a:hover {
    color: var(--color-white);
}

/* --- Copyright Section --- */
.footer-copyright {
    margin-top: 3rem; /* mt-12 */
    padding-top: 1rem; /* pt-4 */
    border-top: 1px solid rgba(255, 255, 255, 0.2); /* border-t border-white/20 */
    text-align: center;
}
.footer-copyright p {
    font-size: 0.875rem; /* text-sm */
    color: var(--color-indigo-300);
    margin: 0;
}