/* --- FOOTER SPECIFIC STYLES --- */

/* General footer wrapper style */
#footer-section {
    /* 🔑 FLUID PADDING: 40px 20px -> 2.5rem 1.25rem */
    padding: 2.5rem 1.25rem;
    background-color: var(--footer-bg); /* Uses variable from base.css */
    color: var(--text-muted); 
}

#footer-section a {
    color: var(--text-muted);
    text-decoration: none;
}

.footer-grid-wrapper {
    display: grid;
    /* On Desktop, use three columns (Flex: Axis.horizontal) */
    grid-template-columns: repeat(3, 1fr); 
    /* 🔑 FLUID GAP: 40px -> 2.5rem */
    gap: 2.5rem;
    /* 🔑 FLUID PADDING: 20px -> 1.25rem */
    padding-bottom: 1.25rem;
}

/* *************************************************** */
/* 🔑 ALIGNMENT MODIFICATION FOR DESKTOP (Default) */
/* *************************************************** */

/* 1. Default: Left-align the first column (LOCATION) */
.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

/* 2. Center-align the middle column (GET IN TOUCH) */
.footer-column.contact-info {
    align-items: center; 
    text-align: center;
}

/* 3. Right-align the third column (CONNECT) - Center is used here */
.footer-column.social-admin {
    align-items: center; 
    text-align: center;
}

/* 🔑 FLUID TYPOGRAPHY: Business Name */
.business-name {
    /* clamp(MIN: 1.25rem/20px, FLUID: 3vw, MAX: 1.5rem/24px) */
    font-size: clamp(1.25rem, 3vw, 1.5rem);
    font-weight: bold;
    color: var(--primary-color);
}

/* 🔑 FLUID TYPOGRAPHY: Headings */
.heading-small {
    color: var(--text-heading);
    /* 🔑 FLUID FONT SIZE: 16px -> 1rem */
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 0;
}

/* 🔑 FLUID TYPOGRAPHY: Body Text */
.footer-text {
    /* 🔑 FLUID FONT SIZE: 16px -> 1rem */
    font-size: 1rem;
    color: var(--text-muted);
}

.nap-address {
    font-style: normal;
}

/* Contact Links & Admin Link */
.contact-link, .admin-link {
    display: flex;
    align-items: center;
    /* 🔑 FLUID PADDING: 5px -> 0.3125rem */
    padding: 0.3125rem 0; 
    color: var(--text-heading);
    text-decoration: none;
    /* 🔑 FLUID FONT SIZE: 16px -> 1rem */
    font-size: 1rem;
    transition: color 0.2s;
    justify-content: flex-start;
}

/* Icon spacing */
.contact-link i, .admin-link i {
    /* 🔑 FLUID FONT SIZE: 20px -> 1.25rem */
    font-size: 1.25rem;
    /* 🔑 FLUID MARGIN: 8px -> 0.5rem */
    margin-right: 0.5rem; 
}

/* Social Icons and Admin Login container */
.social-icons-row {
    display: flex;
    align-items: center;
    /* 🔑 FLUID GAP: 20px -> 1.25rem */
    gap: 1.25rem; 
    justify-content: center;
    width: 100%;
}

.social-icon {
    /* 🔑 FLUID SIZE: 32px -> 2rem */
    width: 2rem;
    height: 2rem;
}

/* Footer Bottom Section */
.footer-divider {
    height: 1px;
    background-color: var(--text-muted); 
    /* 🔑 FLUID MARGIN: 40px 0 20px 0 -> 2.5rem 0 1.25rem 0 */
    margin: 2.5rem 0 1.25rem 0;
}

.footer-bottom-text {
    text-align: center;
    /* 🔑 FLUID FONT SIZE: 14px -> 0.875rem */
    font-size: 0.875rem;
}

.footer-bottom-text a:hover {
    text-decoration: underline;
}

/* --- MEDIA QUERY for Tablet/Mobile Layout --- */
@media (max-width: 900px) {
    .footer-grid-wrapper {
        grid-template-columns: 1fr; /* Single column layout */
        /* 🔑 FLUID GAP: 30px -> 1.875rem */
        gap: 1.875rem;
    }

    /* Revert all alignment to center for mobile responsiveness */
    .footer-column, 
    .footer-column.contact-info,
    .footer-column.social-admin { 
        align-items: center;
        text-align: center;
    }
    
    .social-icons-row {
        justify-content: center;
    }
    
    .contact-link, .admin-link {
        /* Ensure links take full width for easier tapping */
        width: 100%; 
        /* Since the parent column is centered, the full-width link is centered.
           We keep the text left-aligned within the link container. */
        justify-content: center; /* 🔑 MODIFIED: Center the icon and text */
    }
    
    .contact-link i, .admin-link i {
        /* 🔑 MODIFIED: Remove right margin and add space to the left to balance centered text */
        margin-right: 0.5rem; 
        margin-left: 0; /* Keep margin on the right for spacing */
    }

    /* Smaller devices can use smaller margins/padding */
    #footer-section {
        padding: 2rem 1rem;
    }
}