/* --- CSS Variables --- */
:root {
    --footer-bg: #081222;
}

/* --- Footer Main Styles --- */
.footer {
    background-color: var(--footer-bg);
    color: white;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.footer-container {
    max-width: 80rem; /* max-w-7xl */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* --- Footer Grid Layout --- */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr; /* Default to 1 column */
    gap: 1.5rem; /* gap-6 */
}

/* --- Company Info Column --- */
.footer-company-info .footer-logo {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.footer-company-info .footer-logo img {
    height: 2.5rem; /* h-10 */
    width: auto;
    margin-right: 0.75rem;
}

.footer-company-info h3 {
    font-weight: 700;
    margin-bottom: 0.5rem;
    margin-top: 0;
}

.footer-company-info .tagline {
    font-size: 0.85rem;
    color: var(--gray-300);
    margin-bottom: 0.25rem;
}

.contact-details {
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
/* space-y-2 */
.contact-details > * + * {
    margin-top: 0.5rem;
}

.contact-item {
    display: flex;
    align-items: flex-start; /* items-start for address */
    color: var(--gray-300);
    font-size: 0.85rem;
}

.contact-item:not(:first-child) {
    align-items: center; /* Re-center for phone/email */
}

.contact-item svg {
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
    margin-top: 0.125rem; /* mt-0.5 */
    flex-shrink: 0;
}

.contact-item:not(:first-child) svg {
    margin-top: 0;
}


/* --- Footer Link Columns --- */
.footer-links h3 {
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 1rem;
    font-size: 0.9rem;
    margin-top: 0;
}

.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
/* space-y-2 */
.footer-links ul > * + * {
    margin-top: 0.5rem;
}

.footer-links a {
    color: var(--gray-300);
    text-decoration: none;
    transition: color 150ms ease-in-out;
    font-size: 0.85rem;
}

.footer-links a:hover {
    color: var(--daikin-blue);
}

/* --- Footer Bottom Section --- */
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin-top: 3rem; /* mt-12 */
    padding-top: 1.25rem; /* pt-5 */
    display: flex;
    flex-direction: column; /* Default */
    justify-content: space-between;
    align-items: center;
}

.footer-bottom .copyright {
    color: var(--gray-400);
    margin-bottom: 1rem; /* mb-4 */
    font-size: 0.75rem;
}

.social-links {
    display: flex;
}
/* space-x-4 */
.social-links > * + * {
    margin-left: 1rem;
}

.social-links a {
    color: var(--gray-300);
    transition: color 150ms ease-in-out;
}

.social-links a:hover {
    color: var(--daikin-blue);
}

.social-links svg {
    width: 1.25rem; /* h-5 w-5 */
    height: 1.25rem;
}

.contact-item a {
    display: inline-flex;
    transition: 0.3s ease;
}

.contact-item a:hover {
    color: var(--daikin-blue);
    text-decoration: underline;
}

/* --- Responsive Media Queries --- */

/* Small screens (sm) */
@media (min-width: 640px) {
    .footer-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

/* Medium screens (md) */
@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }

    .footer-bottom {
        flex-direction: row; /* Switch to row layout */
    }

    .footer-bottom .copyright {
        margin-bottom: 0;
    }
}

/* Large screens (lg) */
@media (min-width: 1024px) {
    .footer-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .footer-grid {
        /* Custom grid: 1st col is 2x, others are 1x */
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 2rem; /* gap-8 */
    }
}
