/* 1. Outer Container */
footer .max-w-6xl {
    max-width: 72rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

@media (min-width: 40rem) {
    footer .max-w-6xl {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

/* 2. Grid Container */
footer .grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
}

@media (min-width: 40rem) {
    footer .grid {
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 48rem) {
    footer .gap-8 {
        gap: 2rem !important;
    }

    footer .py-8.md\:py-12 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* 3. Grid Items - Column Spans */
@media (min-width: 40rem) {
    footer .sm\:col-span-12 {
        grid-column: span 12 / span 12 !important;
    }

    footer .sm\:col-span-6 {
        grid-column: span 6 / span 6 !important;
    }
}

@media (min-width: 48rem) {
    footer .md\:col-span-3 {
        grid-column: span 3 / span 3 !important;
    }
}

@media (min-width: 64rem) {
    footer .lg\:col-span-3 {
        grid-column: span 3 / span 3 !important;
    }

    footer .lg\:col-span-5 {
        grid-column: span 5 / span 5 !important;
    }

    footer .lg\:col-span-4 {
        grid-column: span 4 / span 4 !important;
    }
}

/* 4. Typography */
footer .text-lg {
    font-size: 1.125rem !important;
    line-height: 1.75rem !important;
    letter-spacing: -0.01em !important;
}

footer .text-sm {
    font-size: 0.875rem !important;
    line-height: 1.5715 !important;
}

footer .font-bold {
    font-weight: 700 !important;
}

footer .font-semibold {
    font-weight: 600 !important;
}

footer .font-medium {
    font-weight: 500 !important;
}

footer .text-slate-800 {
    color: #1e293b !important;
}

footer .text-slate-500 {
    color: #64748b !important;
}

footer .text-blue-500 {
    color: #5696ff !important;
}

/* 5. Spacing */
footer .mb-2 {
    margin-bottom: 0.5rem !important;
}

footer .mb-4 {
    margin-bottom: 1rem !important;
}

footer .mr-4 {
    margin-right: 0 !important;
}

@media (min-width: 48rem) {
    footer .mr-4 {
        margin-right: 1rem !important;
    }

    footer .md\:mb-0 {
        margin-bottom: 0 !important;
    }

    footer .md\:ml-4 {
        margin-left: 1rem !important;
    }
}

footer .space-y-2 > *:not(:first-child) {
    margin-top: 0.5rem !important;
}

footer .space-x-6 > *:not(:first-child) {
    margin-left: 1.5rem !important;
}

footer .gap-2 {
    gap: 0.5rem !important;
}

/* 6. Lists */
footer ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

footer li {
    display: block !important;
}

footer li.flex {
    display: flex !important;
    align-items: flex-start !important;
}

/* 7. Links */
footer a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 150ms ease-in-out !important;
}

footer a.text-slate-500:hover {
    color: #2563eb !important;
}

footer a.text-blue-500:hover {
    color: #2174ea !important;
}

/* 8. SVG Icons */
footer svg {
    display: block !important;
}

footer svg.fill-current {
    fill: currentColor !important;
}

footer li.flex svg {
    flex-shrink: 0 !important;
    min-width: 12px !important;
    margin-top: 3px !important;
    stroke: currentColor !important;
    fill: none !important;
}

footer .w-5 {
    width: 1.25rem !important;
}

footer .h-5 {
    height: 1.25rem !important;
}

/* 9. Bottom Area */
footer .border-t {
    border-top: 1px solid #e2e8f0 !important;
}

footer .py-6 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

/* Mobile default: stack */
footer .md\:flex {
    display: block !important;
}

@media (min-width: 48rem) {
    footer .md\:flex {
        display: flex !important;
    }

    footer .md\:items-center {
        align-items: center !important;
    }

    footer .md\:justify-between {
        justify-content: space-between !important;
    }

    footer .py-6.md\:py-8 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    footer .md\:order-1 {
        order: 1 !important;
    }
}

/* 10. Social Links Container */
footer ul.flex {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-bottom: 1rem !important;
}

/* 11. Transitions */
footer .transition {
    transition-property: color, background-color, border-color !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
}

footer .duration-150 {
    transition-duration: 150ms !important;
}

footer .ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}